docker - 如何自动删除旧的 Docker 镜像?

标签 docker

在使用 Docker 一段时间后,我实际上遇到了磁盘空间问题,因为存储了许多图像(每个版本一个):

REPOSITORY  TAG          IMAGE ID            CREATED             VIRTUAL SIZE
registry    latest       376ca9433bfe        4 weeks ago         429.1 MB
registry    0.6.5        376ca9433bfe        4 weeks ago         429.1 MB
registry    0.6.3        1f7bbd131cd8        5 weeks ago         486.2 MB
registry    0.6.2        0b520d776e7d        5 weeks ago         466.5 MB
registry    0.6.1        9f98cb899f46        5 weeks ago         456.4 MB
registry    0.6.0        873f518b98ef        5 weeks ago         466.4 MB
registry    0.6.4        b04ace768d59        5 weeks ago         486.2 MB

我知道我可以使用 Docker rmi <IMAGE_ID> 来删除旧版本。

有没有办法限制存储在 Docker 中的镜像版本数量,或者自动删除它们?

最佳答案

据我所知没有。这不是 Docker 的责任。

您可以编写一个脚本并对其进行 cron。

另外,请注意,如果您有效地使用缓存,您的图像应该只在最后的 Dockerfile 构建步骤中有所不同。为此,请确保任何更改都是最后的步骤之一。在这种情况下,虽然您看到的每个图像的虚拟大小超过 400 MB,但它实际占用的空间只是最新(非缓存)步骤的文件层大小。

关于docker - 如何自动删除旧的 Docker 镜像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22346139/

相关文章:

Docker root 访问主机系统

nginx - 一个nginx上的两个docker app容器

cassandra - Docker + Cassandra ulimit 错误

.net - 作者主签名的时间戳发现了一个建链问题 : UntrustedRoot: self signed certificate in certificate chain

apache - 使用 LetsEncrypt 创建 Docker Apache 镜像

postgresql - Docker compose postgresql 服务 - 在构建期间无法创建用户和数据库?

node.js - Docker 撰写 : Accessing my webapp from the browser

docker - Docker- 'container is not running',即使我刚刚对其进行了初始化

django - 我在哪里复制我的 Apache docker 镜像中的 VirtualHost 指令?

docker - 无法从Golang连接到Docker上的Elasticsearch