当前位置: 首页 > 知识库问答 >
问题:

在执行docker Stop时尝试连接到Docker守护程序套接字时被拒绝了权限

潘琪
2023-03-14

我的 Docker 上运行了 3 个容器,我需要使用以下命令停止所有这些容器:

sudo docker stop $(docker ps -q)

当运行命令时,我收到以下消息:

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.32/containers/json: dial unix /var/run/docker.sock: connect: permission denied
See 'docker stop --help'.
Usage:  docker stop [OPTIONS] CONTAINER [CONTAINER...]
Stop one or more running containers

我进行了一些搜索,消息显示的情况不适用于我的环境。我正在使用Ubuntu 16.04 LTS和Docker版本17.09.0-ce,build afdb6d4

这条信息是什么意思?

共有3个答案

怀飞扬
2023-03-14

您的用户似乎无法使用docker命令,因此您还需要通过括号中的sudo运行它:

sudo docker stop $(sudo docker ps -q)
陆博易
2023-03-14

如果您收到“权限被拒绝”,这可能意味着您尚未将自己添加到可以在docker上运行的用户组中。要解决此问题,请转到您的终端并键入:

sudo usermod -aG docker <name-of-user-to-grant-permission>

“docker”参数是在安装docker时创建的组,您可以通过键入以下内容进行检查:

getent group | grep docker

第二个参数是您要添加到组中的用户。您可以通过键入以下命令来检查用户列表:

getent passwd

有关命令usermod的更多信息,请访问此处。

更新:我再次安装了docker,只记得当您应用此命令时,需要重新启动机器。

云啸
2023-03-14
sudo usermod -a -G docker $USER

重新启动,然后运行:

docker container run hello-world

在ubuntu 18.2上对我很管用

 类似资料: