Docker最经典的特点有Copy-On-Write机制,联合文件系统和分层机制。因为概念比较难理解,我们就用图片来解释。
先看下下面这张最经典的图片。
这张图片包含了哪些信息呢?
1.一个容器包含可读和可写部分。
2.容器只是在镜像的基础上增加了可写层。
3.如果是读取信息,直接从镜像层去读取信息。从最上层的镜像往下读取,读取到了之后就加载到内存中去运用。如果已经在内存中存在了。则直接开始使用。
4.如果是写内容,则将Docker的镜像中可读部分内容复制到可写部分,然后进行修改。
5.镜像层是分一层一层的。有点类似我们搭积木。 OS 相当于最底层的那块大底板。每一层镜像都在之前的基础上去添加的。
再来看看下面这两张图片:
这张图片是容器的整体构成图。
这个就是详细的搭建每一层的拆解步骤。
1.Linux操作系统是由内核Kernal和用户空间2部分组成的。bootfs(boot file system)主要包含bootloader和kernel,bootloader主要是引导加载kernel,当boot成功 kernel 被加载到内存中,bootfs就被umount了,rootfs(root file system)包含的就是典型Linux系统中的/dev、/proc、/bin、/etc等标准目录。
2.Dockerfile的每一条指令都会创建一个新的分层。
3.所以可以看到镜像其实是一层一层的。
详细内容可以阅读docker官方文档:
如果觉得阿萨的内容对你有帮助,欢迎围观点赞。