是否有必要为docker image提供基本操作系统?

是否有必要为docker image提供基本操作系统?,docker,Docker,我使用的是Windows操作系统,但要使用docker,我使用的是CentOS虚拟机,而不是Oracle虚拟机Virtualbox。我见过一个Dockerfile,其中centos用作基本映像。我的Dockerfile的第一行是 FROM centos 如果我在Docker Hub上检查CentOS的Dockerfile,那么第一行是 FROM scratch scratch用于构建显式空图像,尤其是用于构建图像。在这里,我可以理解,若我开始使用“FROM”线向上遍历,那个么最终我将到达“s

我使用的是Windows操作系统,但要使用docker,我使用的是CentOS虚拟机,而不是Oracle虚拟机Virtualbox。我见过一个Dockerfile,其中centos用作基本映像。我的Dockerfile的第一行是

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

FROM scratch
scratch用于构建显式空图像,尤其是用于构建图像。在这里,我可以理解,若我开始使用“FROM”线向上遍历,那个么最终我将到达“scratch”图像。我可以看到scratch可以用来创建一个最小的容器

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

我尝试搜索mysql和tomcat,发现它最终使用了OS映像。
我对容器的理解是,我可以“将所需的软件和我的服务捆绑在容器中”。请澄清。

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

使用一些已经包含所有必要内容的基本图像更方便。您可以为多个服务共享相同的基本映像,并且由于docker的分层映像,因此在磁盘空间方面没有开销