Docker 构建产生许多未命名的图像
Docker build produces many unnamed images
所以我对 Docker 很陌生,如果这是一个新手问题,我深表歉意...
我刚刚使用 Docker(python 3 flask web 应用程序)构建了我的第一个应用程序,它运行良好。
然而,当我 运行 docker images -a
时我注意到的是,即使我 运行 只是一个构建命令来构建一个图像 altum-platform
它似乎已经创建了 11 个额外的图像!其中一个标记为 python
,因此我假设这与我指定 python3 的应用有关。然而其他的都没有标签。而且它们都占用了相当大的space,这并不理想!
我以为 Docker 图片都是一个独立的大东西?那么,为什么当我 运行 一个构建命令时,我得到了 11 个自动创建的附加图像?
Docker 使用分层文件系统。当您有一个 Docker 文件时,Docker 会为每条指令(如 FROM、运行 或 ADD)创建图像的新层(您在屏幕截图中看到的内容)。层的优点是它们可以重复使用。
例如,如果您有两个图像,运行 Ubuntu 上的程序,Docker 可以重复使用 Ubuntu 图像而不是创建新图像从而节省磁盘 space。 docker images -a
显示的尺寸为虚拟尺寸,并非真实尺寸。因此,您的 altum-platform
大小为 1.43 GB,而不是 4x 1.43 GB。有关详细信息,请查看 here.
所以我对 Docker 很陌生,如果这是一个新手问题,我深表歉意...
我刚刚使用 Docker(python 3 flask web 应用程序)构建了我的第一个应用程序,它运行良好。
然而,当我 运行 docker images -a
时我注意到的是,即使我 运行 只是一个构建命令来构建一个图像 altum-platform
它似乎已经创建了 11 个额外的图像!其中一个标记为 python
,因此我假设这与我指定 python3 的应用有关。然而其他的都没有标签。而且它们都占用了相当大的space,这并不理想!
我以为 Docker 图片都是一个独立的大东西?那么,为什么当我 运行 一个构建命令时,我得到了 11 个自动创建的附加图像?
Docker 使用分层文件系统。当您有一个 Docker 文件时,Docker 会为每条指令(如 FROM、运行 或 ADD)创建图像的新层(您在屏幕截图中看到的内容)。层的优点是它们可以重复使用。
例如,如果您有两个图像,运行 Ubuntu 上的程序,Docker 可以重复使用 Ubuntu 图像而不是创建新图像从而节省磁盘 space。 docker images -a
显示的尺寸为虚拟尺寸,并非真实尺寸。因此,您的 altum-platform
大小为 1.43 GB,而不是 4x 1.43 GB。有关详细信息,请查看 here.