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

neo*_*neo 4 docker docker-compose

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

docker ps -aq | xargs docker rm -f

docker images -aq | xargs docker rmi -f
Run Code Online (Sandbox Code Playgroud)

但我得到了这个

"docker rm" requires at least 1 argument.
See 'docker rm --help'.

Usage:  docker rm [OPTIONS] CONTAINER [CONTAINER...]
Run Code Online (Sandbox Code Playgroud)

"docker rmi" requires at least 1 argument.
See 'docker rmi --help'.

Usage:  docker rmi [OPTIONS] IMAGE [IMAGE...]
Run Code Online (Sandbox Code Playgroud)

这是我的环境

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
Run Code Online (Sandbox Code Playgroud)

这里有什么问题吗?请帮忙!谢谢

小智 6

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

docker ps -aq | xargs -r docker rm -f
docker images -aq | xargs -r docker rmi -f
Run Code Online (Sandbox Code Playgroud)


Far*_*een 5

您需要首先停止运行容器,然后删除它们

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
Run Code Online (Sandbox Code Playgroud)

对于图像尝试删除悬挂图像

docker rmi $(docker images -f dangling=true -q)
Run Code Online (Sandbox Code Playgroud)

要删除所有图像,请使用

docker rmi $(docker images -q)
Run Code Online (Sandbox Code Playgroud)