所以我对Docker来说很新,所以如果这是一个新手问题就道歉......
我只是使用Docker(python 3 flask web app)构建我的第一个应用程序,它运行良好。
但是,当我运行docker images -a
时,我注意到的一点是,即使我只运行一个构建命令来构建一个单独的图像altum-platform
,它似乎已经创建了11个额外的图像!其中一个标记为python
,所以我假设这与我的应用程序指定python3有关。然而其他都没有标记。它们都占用了相当大的空间,这并不理想!
我认为Docker图像都是一个很独立的东西?那么,为什么我在运行一个构建命令时有另外11个自动创建的图像?
答案 0 :(得分:4)
Docker使用分层文件系统。当您有Dockerfile时,Docker会为每个指令(如FROM,RUN或ADD)创建一个新图层(您在屏幕截图中看到的内容)。层的优点是,它们可以重复使用。
例如,如果您有两个图像,它们都在Ubuntu上运行程序,Docker可以重用Ubuntu图像而不是创建新图像,从而节省磁盘空间。 docker images -a
显示的大小表示虚拟大小,而不是实际大小。因此,您的altum-platform
大1.43 GB而不是4x 1.43 GB。有关详细信息,请查看here。