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

Docker:删除正在运行的容器时出错,docker,docker-compose,Docker,Docker Compose,我正在尝试使用以下命令删除正在运行的容器并删除所有下载的图像: 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...] 及 这是我的环境 Clien

我正在尝试使用以下命令删除正在运行的容器并删除所有下载的图像:

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...]

这是我的环境

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 $(docker ps -a -q)
此命令将强制删除正在运行的容器

要移除所有停止的容器:

$ docker rm $(docker ps -a -q)
对于Docker映像:

在:

如果使用-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

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

很可能
xargs docker rm-f
retunrs nothing(您应该尝试运行此命令),因此没有将参数传递给
docker ps-aq


PS-一般来说,建议尝试运行稍后用作参数的表达式,以查看其计算结果,尤其是在删除之前。

使用
-r
xargs
,如果为空,则表示不执行:

docker ps -aq | xargs -r docker rm -f
docker images -aq | xargs -r docker rmi -f
请检查是否对您有用
docker ps -aq | xargs -r docker rm -f
docker images -aq | xargs -r docker rmi -f