首页 > 编程知识 正文

docker更新镜像(docker容器打包镜像)

时间:2023-05-04 16:06:38 阅读:102310 作者:4416

1.镜像是什么?

轻量级且可独立执行的软件包,用于打包运行环境和基于运行环境开发的软件。它包含运行某个软件所需的一切,包括代码、环境变量和配置文件。

联合文件系统

联邦文件系统是一个分层、轻量级和高性能的文件系统。它支持一次提交覆盖文件系统修改,可以在一个虚拟文件系统下挂载不同的目录。联合文件系统是docker镜像的基础。镜像可以通过分层继承。基于基本镜像,可以创建各种其他应用场景。

特征:

多个文件系统同时加载,但外部似乎只有一个文件系统。联合加载将堆叠每一层的文件系统,这样最终的文件系统将包含所有底层文件和目录。

2.docker映像的加载原理

Docker的映像实际上由一个逐层的文件系统组成,这就是UniosFS。

Bootfs(引导文件系统)主要包括引导加载程序和内核。BootLoader主要加载内核。当Linux启动时,它将加载bootfs文件系统。在docker映像的底部,是bootfs。这一层与我们典型的linux相同,包括引导加载程序和内核。加载引导时,整个内核都在内存中。此时,内存的使用权已经从bootfs转移到内核。此时,系统也会卸载bootfs。

Rootfs(根文件系统)位于bootfs之上,包含典型linux系统中的目录和文件,如/dev、/proc、/dydbl、/等。Rootfs是各种操作系统的分布,比如ubunto、centos等等。

对于精简的OS,rootfs可以很小,只需要包含最基本的命令、工具和程序,因为底层直接使用主机的内核,只需要提供bootfs。可以看到不同的linux发行版中bootfs基本相同,rootfs也不同,所以不同的发型版本可以共享bootfs。

这就解释了为什么centos docker只有2亿。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。