我正在按照这个教程学习如何设置Docker,发现他们的所有示例都是这样写的:
docker run hello-world
但是当我尝试时,它显示套接字权限被拒绝,我必须执行以下操作
sudo docker run hello-world
如何运行这些示例。即使对于这些简单的示例,为什么仍需要root权限?
我正在按照这个教程学习如何设置Docker,发现他们的所有示例都是这样写的:
docker run hello-world
但是当我尝试时,它显示套接字权限被拒绝,我必须执行以下操作
sudo docker run hello-world
如何运行这些示例。即使对于这些简单的示例,为什么仍需要root权限?
运行Docker容器需要用户成为docker组的成员。默认情况下,当您安装Docker时,唯一被添加到该组的用户是root
。如果您想从自己的用户中运行Docker容器,可以将自己的用户添加到该组中。
要求sudo级别的访问权限才能访问Docker是一种有效的安全限制。否则,任何能够运行任何Docker命令的人,都可以运行这个命令:
docker run -v /etc:/host-etc busybox \
sh -c 'echo ALL ALL(ALL:ALL) NOPASSWD:ALL >> /host-etc/sudoers'