如何删除所有Docker容器

时间:2016-02-06 11:08:46

标签: linux docker

我想立刻删除所有的docker容器。我尝试使用$ docker rm [container_id]来执行此操作,但它只删除了一个容器,而不是全部。

有没有办法使用一行代码删除所有docker容器?

11 个答案:

答案 0 :(得分:7)

根据状态删除容器:

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

注意:

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

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

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

注意:

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

答案 1 :(得分:2)

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

答案 2 :(得分:2)

对于Windows:

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

答案 3 :(得分:2)

适用于Windows(PowerShell):

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

答案 4 :(得分:1)

在Ubuntu上

sudo docker ps -qa | xargs -n1 sudo docker rm

答案 5 :(得分:1)

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 versioning matrix可以更好地了解docker版本(当前为Docker 17.12 --- Docker API 1.35

答案 6 :(得分:1)

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

答案 7 :(得分:0)

我使用bash脚本循环和docker rm命令执行此操作:

$ for id in $(docker ps -aq); do docker rm $id; done

答案 8 :(得分: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

答案 9 :(得分:0)

这两个命令如果要删除所有容器或图像

对于容器

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

用于图像

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

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

答案 10 :(得分:-1)

您可以使用以下行

docker kill $(docker ps -q) || true && docker rm $(docker ps -a -q) || true && docker rmi -f $(docker images -q) || true

如果您使用 jenkins 或 Gitlb CI/CD,如果没有容器或图像,仅运行 docker rm $(docker ps -a -q) 或任何其他相关命令都会失败。使用上面的行,它将被阻止。