这是我当前的docker / docker-compose工作流程:
sudo docker build --rm . -t image_name
docker-compose
进程sudo docker-compose down
sudo docker-compose up
为什么,当我运行docker system prune时,删除的空间是否与我执行此过程的次数成正比?使用sudo docker build --rm . -t image_name
:
deleted: sha256: blablablah
deleted: sha256: ...
deleted: sha256: blablablah
Total reclaimed space: 1.948GB // Roughly proportional to the number of build runs
我的印象是sudo docker build --rm . -t image_name
使用--rm会删除所有中间图像和容器。还是只是图像会自动删除,而过去的容器仍然存在?如果是这样,是否有一种方法可以清理每个Docker构建中的过去的容器和映像,而不必记住偶尔运行docker system prune?我是否应该设置工作以使其在开发中自动化?
编辑:我不认为我的问题是this question的重复。当我运行sudo docker images
时,没有<none>
容器。因此,该问题不是“ {em> <none>
”存储库和标签是什么?当我使用docker build时为什么会出现它们?”的问题的重复,但是,它确实提供了一个线索我的问题的答案似乎在评论中:
您使用docker build -t myname / NewImage:0.1构建了一个映像。更多 不止一次。第一次执行此操作时,它会创建一个带有标签的图像 使用myname / NewImage:0.1。第二次执行此操作会创建一个 获取myname / NewImage:0.1标签的新图像,保留第一个 您构建的带有
标签的图像<none>
此评论是准确的,但我似乎没有任何<none>
容器。此外,即使有此评论,我仍未回答如何避免这种情况的后续问题: