无法在Docker中停止或删除容器,将显示“权限被拒绝”

时间:2015-01-21 14:09:10

标签: docker containers

我已经从不同端口的图像中运行了几个容器,但我无法停止或删除这些容器。我已经运行了这个命令:

# sudo docker rm -f f85956145f61

并且不会显示任何消息,但仍会显示容器。

我尝试过这些命令:

# docker stop $(docker ps -a -q)
# docker rm $(docker ps -a -q)

但是我收到以下错误:

# Get http:///var/run/docker.sock/v1.15/containers/json?all=1: dial unix /var/run/docker.sock: permission denied

那么,如何从我的docker中删除所有容器?

2 个答案:

答案 0 :(得分:8)

我不知道您是否尝试以root身份停止容器,但如果不尝试以root身份停止/终止容器或使用sudo。

$ sudo docker kill $(docker ps -q)
$ sudo docker rm $(docker ps -a -q)

如果这不起作用,请尝试重新启动docker service

$ sudo service docker restart

然后再次尝试停止并删除容器。如果它不起作用,您可以尝试从主机中杀死在容器内运行的进程。

要在docker killdocker stopdocker rm,...等中引用容器,您可以指定容器ID或容器名称,两者都有效。

答案 1 :(得分:1)

发生这种情况的另一个原因是守护进程忙于提交容器。