我想自动化的Docker层只是不再使用,因为Docker喜欢吞噬硬盘空间的删除。
因此,我希望有一个脚本,将删除所有的图像的特定类型,除了最后使用的图像。
REPOSITORY TAG IMAGE ID CREATED SIZE
mop-test-image b4ffabd a16fc65f4d19 10 minutes ago 1.95GB
mop-test-image e7e5b14 7971bf4c01ce 17 minutes ago 1.95GB
mop-test-image 4325d4e d6a3377f609a 32 minutes ago 1.95GB
因此,在上面的列表中,我想删除所有的图像,除了10分钟前创建的图像。
我目前使用这个来删除所有这类图像,所以它需要调整:
docker rmi $(docker images | grep test- | tr -s ' ' | cut -d ' ' -f 3)
2条答案
按热度按时间bf1o4zei1#
使用
until
:删除所有超过10分钟的图像
你也可以使用
--filter
使用repository
或ID
来选择某些类型的图像查看更多here
inkz8wg92#
如果您对不需要知道截止日期的解决方案更感兴趣,下面的脚本应该可以做到这一点。
它只是循环遍历docker图像,如果以前没有见过图像,则将其名称存储在查找表中,否则将其删除。
https://gist.github.com/Mazyod/da92f8cda1783baa017f9323375c159c