小编典典

如何修复 docker:获得权限被拒绝问题

all

我在我有 Ubuntu 操作系统的机器上安装了 Docker。
当我运行时:

sudo docker run hello-world

一切都很好,但我想隐藏sudo命令以使命令更短。
如果我不写命令sudo

docker run hello-world

显示以下内容:

docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.35/containers/create: dial unix /var/run/docker.sock: connect: permission denied. See 'docker run --help'.

当我尝试运行时也会发生同样的情况:

docker-compose up

我该如何解决这个问题?


阅读 126

收藏
2022-03-03

共1个答案

小编典典

如果要以非 root 用户身份运行 docker,则需要将其添加到 docker 组。

  1. 如果 docker 组不存在,则创建它

    $ sudo groupadd docker

  2. 将您的用户添加到 docker 组。

    $ sudo usermod -aG docker $USER

  3. 运行以下命令或注销并再次登录并运行(这不起作用,您可能需要先重新启动计算机)

    $ newgrp docker

  4. 检查docker是否可以在没有root的情况下运行

    $ docker run hello-world

如果仍然出现错误,请重新启动

$ reboot

警告

docker 组授予与 root 用户等效的权限。有关这如何影响系统安全性的详细信息,请参阅Docker
守护程序攻击面。
.

取自 docker 官方文档: manage-docker-as-a-non-root-
user

2022-03-03