Docker:删除正在运行的容器时出错

我试图删除正在运行的容器,并通过使用下面的命令删除所有下载的图像:

docker ps -aq | xargs docker rm -f docker images -aq | xargs docker rmi -f 

但是我明白了

 "docker rm" requires at least 1 argument. See 'docker rm --help'. Usage: docker rm [OPTIONS] CONTAINER [CONTAINER...] 

 "docker rmi" requires at least 1 argument. See 'docker rmi --help'. Usage: docker rmi [OPTIONS] IMAGE [IMAGE...] 

这是我的环境

 Client: Version: 17.09.0-ce API version: 1.32 Go version: go1.8.3 Git commit: afdb6d4 Built: Tue Sep 26 22:42:18 2017 OS/Arch: linux/amd64 Server: Version: 17.09.0-ce API version: 1.32 (minimum version 1.12) Go version: go1.8.3 Git commit: afdb6d4 Built: Tue Sep 26 22:40:56 2017 OS/Arch: linux/amd64 Experimental: false docker-compose version 1.16.1, build 6d1ac21 docker-py version: 2.5.1 CPython version: 2.7.13 OpenSSL version: OpenSSL 1.0.1t 3 May 2016 

这里有什么不对吗? 请帮忙! 谢谢

您需要先停止运行容器然后将其删除

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

为图像尝试删除悬挂的图像

 docker rmi $(docker images -f dangling=true -q) 

删除所有使用的图像

 docker rmi $(docker images -q) 

看起来你错误地传递了参数。 尝试像这样删除所有的容器:

docker rm -f $(docker ps -qa)

并删除所有的图像:

docker rmi $(docker images -q)

在Docker rm doc之后 :

强制删除正在运行的容器

该命令将强制删除正在运行的容器。

 $ docker rm --force containerName containerName 

要删除所有停止的容器:

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

对于Docker镜像:

在Docker Image文档中 :

如果您使用-f标志并指定图像的短或长ID,则此命令会取消标记并删除与指定ID匹配的所有图像。

例:

 $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE test1 latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB) test latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB) test2 latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB) $ docker rmi -f fd484f19954f Untagged: test1:latest Untagged: test:latest Untagged: test2:latest Deleted: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8 

根据我个人的经验,当我需要强制删除一个容器时,我通常会这样做:

 docker container rm -f containerName 

而且,如果我不再需要使用的图像:

  docker image rm -f imageName 

请注意,如果图像仍被容器使用,上述命令将会引发错误。