如何在Docker构建中删除所有先前的构建,容器,存储库和标签?

时间:2019-03-13 14:57:23

标签: docker docker-compose

这是我当前的docker / docker-compose工作流程:

  • 进行一些代码更改
  • sudo docker build --rm . -t image_name
  • Ctrl + C 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>容器。此外,即使有此评论,我仍未回答如何避免这种情况的后续问题:

  • ” ......是否有办法清理每个容器上过去的容器和图像 无需忘记偶尔运行Docker的Docker构建 系统修剪? “

0 个答案:

没有答案