是否有必要有一个基础的操作系统的docker形象?

我正在使用Windows操作系统,但是使用docker我使用Oracle VM Virtualbox上的CentOS VM。 我看到了一个Dockerfile,其中centos被用作基础镜像。 我的Dockerfile的第一行是

FROM centos 

如果我在Docker Hub上检查CentOS的Dockerfile,那么第一行是

 FROM scratch 

从头开始用于构build明确的空图像,特别是用于构build图像。 在这里我可以理解,如果我使用“FROM”行开始向上遍历,那么最后我将以“scratch”图像结束。 我可以看到,scratch可以用来创build一个最小的容器。

问题:如果我想使用Web服务器,数据库等创build一些更大的应用程序,那么是否需要添加基本操作系统映像?

我试图searchmysql和tomcat,并注意到它终于使用了一个操作系统映像。 我对Container的理解是,我可以“将所需的软件和我的服务捆绑在一起”。 请澄清。

你的理解是正确的,但是“只是捆绑所需的软件和我的服务”可能是麻烦的,特别是如果你还有一些shell脚本进一步使用其他支持程序。

使用已经包含所有必需的东西的一些基础图像更方便。 您可以共享几个服务的相同的基本图像,并由于docker的分层的图像将没有关于磁盘空间的开销。