我已经从不同端口的图像中运行了几个容器,但我无法停止或删除这些容器。我已经运行了这个命令:
# 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中删除所有容器?
答案 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 kill
,docker stop
,docker rm
,...等中引用容器,您可以指定容器ID或容器名称,两者都有效。
答案 1 :(得分:1)
发生这种情况的另一个原因是守护进程忙于提交容器。