我在有Ubuntu操作系统的机器上安装了Docker。
当我跑步时:
sudo docker运行hello world
一切正常,但我想隐藏单词sudo,使命令更简短。
如果我在编写命令时没有使用单词sudo
docker运行hello world
将显示以下内容:
docker:尝试连接到位于的docker守护程序套接字时,权限被拒绝unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.35/containers/create:dial unix/var/run/docker.sock:connect:权限被拒绝。请参阅“docker run--帮助”。
当我试图做出以下决定时,情况也是如此:
docker组合
我如何解决这个问题
如果要以非root用户身份运行docker,则需要将其添加到docker组
- 如果docker组不存在,则创建该组
$sudo groupadd docker
- 将您的用户添加到docker组
$sudo usermod-aG docker$USER
- 运行以下命令或注销并再次登录并运行(这不起作用,您可能需要先重新启动计算机)
$newgrp docker
- 检查docker是否可以在没有root的情况下运行
$docker run hello world
如果仍然出现错误,请重新启动
$reboot
警告
docker组授予与根用户相同的权限。有关这如何影响系统安全性的详细信息,请参阅Docker Daemon攻击面
摘自docker官方文件:
以非root用户身份管理docker