我正在尝试使用以下命令删除正在运行的容器并删除所有下载的图像:
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
这里有什么不对吗?请帮忙! 谢谢
答案 0 :(得分:2)
您需要先停止运行容器然后将其删除
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)
答案 1 :(得分:1)
看起来你错误地传递了参数。 尝试删除所有容器:
docker rm -f $(docker ps -qa)
并删除所有图片:
docker rmi $(docker images -q)
答案 2 :(得分:1)
强制删除正在运行的容器
此命令将强制删除正在运行的容器。
$ docker rm --force containerName
containerName
删除所有已停止的容器:
$ docker rm $(docker ps -a -q)
对于Docker镜像:
如果使用-f标志并指定图像的短ID或长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
请注意,如果图像仍被容器使用,上述命令将引发错误。
答案 3 :(得分:0)
xargs docker rm -f
很可能不调整任何内容(您应该尝试运行此操作),因此没有参数传递给docker ps -aq
。
PS-通常来说,建议稍后尝试运行将用作参数的表达式,以查看其计算结果,尤其是在删除之前。
答案 4 :(得分:0)
将-r
与xargs
一起使用,这意味着如果为空则不执行:
docker ps -aq | xargs -r docker rm -f
docker images -aq | xargs -r docker rmi -f