为什么你需要Docker的基础镜像?

我已经浏览了Docker文档的每一页。

我不明白为什么在安装/创build应用程序环境之前需要“基本映像”(例如,Ubuntu Base Image)来提供容器。

我的问题:

  • 什么是基础图像,为什么它是必需的?
  • 为什么不可能只创build一个容器,并将其中的应用程序放入类似于Python的virtualenv?

事实上, Docker通过应用添加到基础镜像的图层来工作。 由于您必须保持所有这些层之间的一致性,您不能将第一个图像放在移动的目标(即可写文件系统)上。 所以,你需要一个只读的图像,永远保持不变。

以下是关于图像的Docker文档的摘录:

由于Docker使用联合文件系统,进程认为整个文件系统是可读写的。 但是,所有更改都转到最上面的可写入层,而在下面,只读图像中的原始文件保持不变。 由于图像不变,图像没有状态。

在这里输入图像说明

简而言之,我可以解释一下。因为我们使用某些库和节点包来进行类似的应用程序,所以我们可以使用已经制作好的基本图像 ,并使用它们进行简单search。您还可以定义自己的基本图像并使用的。