这个问题与 我是否应该关注多余的、非运行的 Docker 容器有关? .
我想知道如何删除旧容器。 docker rm 3e552code34a
可以让你删除一个,但我已经有很多了。 docker rm --help
不提供选择选项(如全部或按图像名称)。
也许有一个存储这些容器的目录,我可以轻松地手动删除它们?
原文由 qkrijger 发布,翻译遵循 CC BY-SA 4.0 许可协议
这个问题与 我是否应该关注多余的、非运行的 Docker 容器有关? .
我想知道如何删除旧容器。 docker rm 3e552code34a
可以让你删除一个,但我已经有很多了。 docker rm --help
不提供选择选项(如全部或按图像名称)。
也许有一个存储这些容器的目录,我可以轻松地手动删除它们?
原文由 qkrijger 发布,翻译遵循 CC BY-SA 4.0 许可协议
我从 Guillaume J. Charmes 那里得到的另一种方法(应得的信用):
docker rm `docker ps --no-trunc -aq`
将以优雅的方式删除所有容器。
Bartosz Bilicki 为 Windows 提供:
FOR /f "tokens=*" %i IN ('docker ps -a -q') DO docker rm %i
对于 PowerShell:
docker rm @(docker ps -aq)
Docker 1.13(2016 年第四季度)的更新,归功于 VonC ( 本线程稍后):
docker system prune
将删除所有未使用的数据(即,按顺序:容器停止,没有容器的卷和没有容器的图像)。
请参阅 PR 26108 和 提交 86de7c0 ,其中引入了一些新命令,以帮助可视化 Docker 守护程序数据在磁盘上占用的空间量,并允许轻松清理“不需要”的多余空间。
docker system prune
WARNING! This will remove:
- all stopped containers
- all volumes not used by at least one container
- all images without at least one container associated to them
Are you sure you want to continue? [y/N] y
原文由 qkrijger 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答2.4k 阅读✓ 已解决
2 回答793 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答1.4k 阅读
1 回答1.6k 阅读
2 回答1.2k 阅读
1 回答955 阅读
从 Docker 1.13.x 开始,您可以使用 Docker container prune :
这将删除所有停止的容器,并且应该以相同的方式在所有平台上工作。
还有一个 Docker 系统 prune :
这将在一个命令中清理所有未使用的容器、网络、图像(悬空和未引用)以及可选的卷。
对于较旧的 Docker 版本,您可以将 Docker 命令与其他 Unix 命令串在一起以获得您需要的内容。以下是有关如何清理已使用数周的旧容器的示例:
值得称赞的是,这个例子来自 https://twitter.com/jpetazzo/status/347431091415703552 。