【发布时间】:2019-01-29 04:49:52
【问题描述】:
假设我有一台构建机器,可以构建许多 docker 镜像myimage:myversion。每创建 100 个图像我会消耗大约 1GB 的磁盘空间,而且我当然不需要所有这些。例如,我想保留最近的 10 个图像(并删除所有较旧的图像),但我想确保我拥有 10 个构建/图像中的所有缓存层。如果我缓存了所有层,那么我更有可能在下次运行时快速构建。
问题是所有图像(非常旧和全新)共享很多层,因此我不能盲目删除旧图像,因为与新图像有大量重叠。
我不想使用docker image prune (https://docs.docker.com/config/pruning/#prune-images),因为这取决于我拥有哪些容器(无论状态如何)并且正在删除容器,所以 prune 最终会删除太多东西。
是否有一个简单的命令可以让我定期运行以达到我上面描述的状态?
【问题讨论】:
标签: docker