ada*_*key 12 permissions sudo docker ubuntu-16.04
我正在完成本教程设置 Docker,我发现他们的所有示例都是这样编写的
docker run hello-world
Run Code Online (Sandbox Code Playgroud)
但是当我尝试时,它说套接字上的权限被拒绝,我必须这样做
sudo docker run hello-world
Run Code Online (Sandbox Code Playgroud)
运行示例。为什么即使对于这些简单的例子也需要 root 权限?
Mur*_*nik 11
运行 docker 容器需要用户是docker组的成员。默认情况下,当您安装 docker 时,添加到其中的唯一用户是root. 如果您想从中运行 docker 容器,您可以将自己的用户添加到该组。
任何可以运行任何 Docker 命令的人都可以运行以下命令:
docker run -v /etc:/host-etc busybox \
sh -c 'echo ALL ALL(ALL:ALL) NOPASSWD:ALL >> /host-etc/sudoers'
Run Code Online (Sandbox Code Playgroud)
也就是说,任何可以运行 Docker 命令的人都已经是 root 了。需要 sudo 级别的访问权限才能访问 Docker 是一个合理的安全限制。
这实际上是由/var/run/docker.sock. 拥有一个docker拥有该套接字文件的组并为其提供模式 0660 是一种常见设置(尤其是在 Ubuntu 上)。但是,同样,任何属于该docker组成员的人都可以读取和更改主机上的任意文件,并且除了名称之外的所有文件都是 root。
| 归档时间: |
|
| 查看次数: |
3794 次 |
| 最近记录: |