docker构build创build另一套docker图像即使构build命令是一样的?

假设你可以用下面的命令创build一个500MB的docker镜像

docker build -t demo:1.0 . 

在我看来,当我重新运行相同的命令时,docker镜像( demo:1.0 )被覆盖。 但是,我注意到,当我重新运行命令时,可用磁盘空间减less。 为什么会这样呢? docker工人是在文件系统的某个地方创build另一组图像吗? 我想知道如何finddocker图像的老一代,并删除它们。

这是标准的docker行为,如果你运行

 docker images 

你可能会看到像这样的摇摆不定的图像

 REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE demo 1.0 a1b38444260e 6 days ago 500 MB <none> <none> 46250b7172c5 6 days ago 500 MB 

您可以使用该命令删除悬挂的图像

 docker rmi $(docker images -qa -f "dangling=true") 

Docker不会自动删除这些图像,尽pipe这是一个逻辑function。 现在这个命令可以用来进行手动删除。

当图像存储在/var/lib/docker/{driver-name} ,您不会从该path手动删除图像。