删除所有停止的容器:“docker rm”至less需要1个参数

我正在读docker上的一本书。 已经有几十年了。

我会引用:

If you want to get rid of all your stopped containers, you can use the output of docker ps -aq -f status=exited , which gets the IDs of all stopped containers. For example: $ docker rm -v $(docker ps -aq -f status=exited) 

当我运行这个时,我得到:

 michael@michael-desktop:~$ sudo docker rm -v $(docker ps -aq -f status=exited) 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.30/containers/json?all=1&filters=%7B%22status%22%3A%7B%22exited%22%3Atrue%7D%7D: dial unix /var/run/docker.sock: connect: permission denied "docker rm" requires at least 1 argument(s). See 'docker rm --help'. Usage: docker rm [OPTIONS] CONTAINER [CONTAINER...] Remove one or more containers 

你能帮我理解我应该怎么做才能获得目标。

这可能仅仅意味着你没有一个状态为“退出”的容器。

命令然后变成:

 sudo docker rm -v 

没有任何参数会触发你看到的错误信息。

但是今天,无论如何,这将是与docker container prune

似乎正在发生的事情是docker开始与不同的用户。 因此, docker ps -aq -f status=exited不能运行,因为permission问题,结果得到blank结果。

运行docker rm抱怨由于空白的结果而缺less参数。

 michael@michael-desktop:~$ sudo docker rm -v $(docker ps -aq -f status=exited) Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: