如何自动删除旧的Docker映像?

Jul*_*lay 4 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
Run Code Online (Sandbox Code Playgroud)

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

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

qkr*_*ger 5

据我所知不。那不是Docker的责任。

您可以编写脚本并将其cron。

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