本文翻译于 “Root User and Password Inside a Docker Container”
我们常使用 root 权限打开 docker 容器,显然这存在着一定的安全性问题。本文将讨论如何使用 non-root 用户创建 docker 镜像,来确保一些资源的安全性。
|
|
DOCKER
上面的例子创建了一个非 root 用户的镜像,正常启动后,进入容器即以 john 用户身份登录,此时使用包管理器安装软件包则会报出权限不足错误,需要切换至 root 用户。当你在烦恼切换时提示需要你输入 root 账户的密码时,有一个简单的方式可以直接以 root 方式登陆,那就是使用下面的命令。
|
|
SHELL
当然你也可以使用下面的命令
|
|
SHELL
如果说,你一定要在容器中为非 root 用户指定特别权限,你也可以安装 sudo 命令。下面的例子创建了一个非 root 用户 john,并授予其 sudo 权限
|
|
DOCKER
用户的映射问题
通常使用 docker run -itd --user `id -u`:`id -g` xxxx
命令创建容器后,进入系统会报找不到用户的错误,这时可以先在外面查看得到uid
和gid
然后进入该容器的root模式,并修改容器内的用户的uid
和gid
到正确的映射。
|
|
SHELL