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
请注意,如果图像仍被容器使用,上述命令将会引发错误。