为什么在Docker中使用镜像创建容器时会创建容器in init层?新的容器不能作为镜像的父对象吗?
发布于 2016-03-14 17:52:40
每个容器都有两个层,一个(称为init层),它基于一个图像层和一个包含实际容器内容的子层。初始化层包含一些文件,这些文件必须始终存在于Docker容器中(例如/.dockerinit)。Supported Filesystems
containerID-init层是基于图像的容器的init层。它将一些文件添加到当前容器中,包括:
"/dev/pts": "dir",
"/dev/shm": "dir",
"/proc": "dir",
"/sys": "dir",
"/.dockerenv": "file",
"/etc/resolv.conf": "file",
"/etc/hosts": "file",
"/etc/hostname": "file",
"/dev/console": "file",
"/etc/mtab": "/proc/mounts",发布于 2017-09-04 17:43:45
docker层的存在是为了创建某些必须存在的文件/目录(通常作为挂载点),这样<container>-init就可以将挂载绑定到这些挂载点,而不用担心它们不存在。
备注:初始层为RO(READONLY),不可修改。
这些挂载点通常是空的,下面解释了它们的用途:
/proc:内存中有关进程的数据和systemsys:内存中系统文件system/etc/hostname:容器主机名文件,每个容器将拥有自己的主机名,并绑定挂载到此file/etc/hosts:主机文件,ip和名称与mapping/etc/resolv.conf:DNS相关的解析conf filehttps://stackoverflow.com/questions/33697774
复制相似问题