我使用的是Windows操作系统,但是使用docker我使用CentOS VM而不是Oracle VM Virtualbox。我见过一个Dockerfile,其中centos用作基本图像。我的Dockerfile的第一行是
FROM centos
如果我在Docker Hub上检查CentOS的Dockerfile,那么第一行是
FROM scratch
scratch用于构建显式空图像,尤其适用于构建图像。在这里我可以理解,如果我开始使用“FROM”线向上遍历,那么最后我将以“临时”图像结束。我可以看到,scratch可以用来创建一个最小的容器。
问题:如果我想使用Web服务器,数据库等创建更大的应用程序,那么是否需要添加基本操作系统映像?
我试图搜索mysql和tomcat,并注意到它最终使用了操作系统映像。 我对Container的理解是我可以“在容器中捆绑所需的软件和我的服务”。请澄清。
答案 0 :(得分:1)
您的理解是正确的,然而"只需捆绑所需的软件和我的服务"可能很麻烦,特别是如果你还有一些shell脚本可以进一步使用其他支持程序。
使用包含已经所有必要内容的一些基本图像更方便。您可以为多个服务共享相同的基本映像,并且由于docker的分层映像在磁盘空间方面没有任何开销。