如何清理Docker系统,而不删除某些图像?

p8h8hvxi  于 2022-12-03  发布在  Docker
关注(0)|答案(1)|浏览(132)

要清理Docker系统,有一个有用的命令

docker system prune -a

我发现自己经常执行它来清理我在开发中尝试不同的东西时所造成的混乱,只是后来重新下载了一堆图像。在我的用例中,这通常需要很长的时间(5-10分钟),而且不必要地占用了我所使用的图像库的带宽。
我想知道的是,是否有一种简单的方法可以防止某些图像(我知道我在不久的将来会再次需要的图像)被修剪,同时仍然保留在一个命令中修剪Docker系统的便利性?
我可以做的一个方法是在修剪之前从我想保留的图像开始创建一个容器,然后 * 再 * 修剪,但这会破坏上面的一行程序的便利性。另外,这些容器在修剪之后需要停止并删除,因为它们在那时对我的资源是不必要的负担。
有没有简单的方法可以做到这一点?

sqxo8psd

sqxo8psd1#

您可以制作自己的图像,并像以下Dockerfile那样标记它们:

FROM ubuntu:20.04
LABEL myimage=keepit

使用docker build -t myubuntu .构建此Dockerfile
然后,您可以使用filter来筛选此标签,以避免删除它:docker prune -a --filter label!="myimage=keepit"
文件:https://docs.docker.com/engine/reference/commandline/system_prune/#filtering

相关问题