无法删除连续的所有容器

时间:2017-02-07 09:51:28

标签: ubuntu docker

我昨天开始使用Docker,不幸的是我创造了大量的容器。 现在我想删除所有这些。一个接一个地删除它们真的很无聊,因为我喜欢45个没有标签的容器。 我发现我应该使用do删除所有这些命令,如:

sudo docker rm $(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.25/containers/json: dial unix /var/run/docker.sock: connect: permission denied

"docker kill" requires at least 1 argument(s).

See 'docker kill --help'.

Usage:  docker kill [OPTIONS] CONTAINER [CONTAINER...]

Kill one or more running containers

我知道 $(docker ps -q)不能正常工作,因为存在权限被拒绝的问题。但我真的不知道如何解决这种情况。

任何帮助?

非常感谢!

3 个答案:

答案 0 :(得分:0)

我相信你的docker守护进程没有运行。您可以使用sudo /etc/init.d/docker status

进行检查

如果它正在运行,可能它被配置为不在/var/run/docker.sock上收听。如果/etc/default/docker中指定了-H选项,您可以在DOCKER_OPTS办理登机手续。

相关主题:安装Docker后,系统会提示您将用户添加到docker组。运行显示的命令并重新启动会话以考虑更改,因此您不再需要使用sudo运行命令

答案 1 :(得分:0)

尝试运行以下命令

sudo docker rm $(sudo docker ps -q)

答案 2 :(得分:0)

获得的权限被拒绝.... 是因为在Docker UNIX套接字JNI_ABORT中使用dockerd守护程序的权限限制。这很容易解决。

您可以将您的用户添加到docker组。

/var/run/docker.sock

如果docker组不存在,则按如下所示创建一个组,然后执行上述第1步。

sudo suermod -a -G docker $USER

现在,注销并再次登录。完成了!

关于 docker kill”至少需要1个参数。此消息很简单。如果没有运行中的容器,则sudo groupadd docker 不返回任何内容,甚至没有一个参数。

您可以改为运行以下命令:

docker ps -q