如何移除所有Docker容器

13
我想一次性删除所有Docker容器。我尝试使用$ docker rm [container_id]这个命令,但是它只删除了一个容器,而不是所有的容器。
有没有一种方法可以用一行代码删除所有Docker容器?
11个回答

12

按照状态删除容器:

docker rm -v $(docker ps --filter status=exited -q)

注意:

  • 选项“-v”将删除与容器关联的任何卷。

清除开发机器上的所有容器:

docker rm -v -f $(docker ps -qa)

注意:

  • "-f"选项将强制删除正在运行的容器

我建议也加上 --filter status=dead。虽然不经常出现,但有时会出现。此外,建议包括 docker rmi $(docker images --dangling=true -q) 来清理不再使用的任何镜像。 - Sobrique
停止所有容器 | $ docker stop $(docker ps -a -q) 并删除所有容器 | $ docker rm $(docker ps -a -q) - Jinna Balu

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

不要这样做。它会删除您创建的任何存储容器。 - Sobrique
问题是如何“删除所有Docker容器”,即包括存储容器。 - Nauraushaun

3

Docker 1.13.0 --- Docker API 1.25 开始:

docker container prune

输出:

WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
df226cc24539833a1c88f46bfa382ebe2e89c21805288f5e6bfc37cb7f662505
993bd58faaa22cb5dbc263eca33c8d1a241bd0a1f73b082e23e3a249fe1dfc0d
...

Total reclaimed space: 13.88MB

请查看docker container prune了解更多信息。

有一个docker版本矩阵,以更好地理解docker版本(当前版本为Docker 17.12 --- Docker API 1.35)。


3

针对Windows系统:

C:\> for /F %i in ('docker ps -qa') do docker rm %i

3

对于Windows操作系统(PowerShell):

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

1
在Ubuntu上。
sudo docker ps -qa | xargs -n1 sudo docker rm

1
我可以向您展示一个惊人的技巧,帮助您成为更好的Linux用户。通过键入docker ps -a | cut -d ' ' -f1 | xargs docker rm,所有容器都将被删除。首先,列出所有Docker容器,然后分离所有容器ID,然后在一行命令中全部删除它们。

0
我用一个Bash脚本循环和一个Docker rm命令来完成它:
$ for id in $(docker ps -aq); do docker rm $id; done

0
删除活动容器: for /F %i in ('docker ps') do docker kill %i 删除非活动容器: for /F %i in ('docker ps -qa') do docker rm %i 此命令适用于Docker 17.xx版本。

0

如果您想删除所有容器或镜像,可以使用以下两个命令:

对于容器:

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

用于图片

sudo docker rm -f $(sudo docker images -a -q)

通过使用 -f 标志,我们可以强制删除容器。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接