美文网首页docker专题
理解docker镜像

理解docker镜像

作者: 深圳邱道长 | 来源:发表于2020-02-17 15:18 被阅读0次

Docker镜像由相互层叠的文件系统组成。基础是引导文件系统bootfs,它类似于典型的Linux/Unix引导文件系统。Docker用户可能永远不会与启动文件系统交互。实际上,当容器启动后,它将被移到内存中,并且卸载启动文件系统来释放initrd磁盘映像使用的RAM。

看起来很像一个典型的Linux虚拟化堆栈。实际上,Docker接下来在引导文件系统的顶层构建一个根文件系统,即rootfs。这个rootfs可以是一个或多个操作系统(例如,Debian或Ubuntu文件系统)。

在更传统的Linux引导中,根文件系统以只读方式挂载,然后在引导后切换为可读写,并执行完整性检查。但是,在Docker世界中,根文件系统保持只读模式,Docker利用联合挂载的优势将更多的只读文件系统添加到根文件系统中。 联合挂载是一种允许一次装载多个文件系统但看起来是一个文件系统的装载。 联合挂载使文件系统彼此重叠,以便生成的文件系统可以包含来自任何或所有底层文件系统的文件和子目录。

Docker调用每个文件系统镜像。镜像可以层叠在一起。下面的图像称为父镜像,可以遍历每个层,直到到达镜像堆栈的底部,最终镜像称为基础镜像。最后,当容器从映像启动时,Docker会在下面的任何层上安装一个读写文件系统。Docker容器运行的任何进程都将在这个地方执行。

我们看一个图(此图来源书,太好看了)


image.png

当Docker第一次启动一个容器时,初始的读写层是空的。当变化发生时,它们被应用到这一层;例如,如果您想更改一个文件,那么该文件将从下面的只读层复制到读写层。文件的只读版本仍然存在,但现在隐藏在副本下面。

这种模式传统上称为“写时拷贝”,这是Docker如此强大的特性之一。每个只读镜像层都是只读的。当一个容器被创建时,Docker从镜像的堆栈中构建,然后在上面添加读写层。这一层,与它下面的镜像层的知识和一些配置数据相结合,这就是docker镜像大概需要理解的东西。

相关文章

  • Docker

    # Docker java进阶/docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器...

  • Docker镜像与容器

    一 镜像操作 Docker镜像类似于虚拟机镜像,可以将它理解为一个只读的模板 查看镜像相关: 1使用docker ...

  • 理解docker镜像

    Docker镜像由相互层叠的文件系统组成。基础是引导文件系统bootfs,它类似于典型的Linux/Unix引导文...

  • docker镜像

    什么是docker镜像 听到镜像一词,可能不清楚镜像是什么。可以理解为操作系统的iso镜像包。 docker im...

  • Docker的学习(二)----构建镜像

    在本篇中,我将记录对Docker镜像深入的学习,已经对Dockerfile的编写和理解。 Docker镜像 Dco...

  • docker 入门

    Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启...

  • Docker学习笔记

    Docker 掌握Docker基础知识,理解Docker镜像与容器的概念 完成Docker安装与启动 掌握Dock...

  • Docker学习笔记

    Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启...

  • Docker概念简介

    一、docker的三大核心概念 镜像(Image) Docker镜像类似于虚拟机镜像,可以将它理解为一个只读的模板...

  • 第6章 Docker镜像

    6.1 Docker镜像——简介 对于运维人员来说,Docker镜像可以理解为VM模板,VM模板就像停止运行的VM...

网友评论

    本文标题:理解docker镜像

    本文链接:https://www.haomeiwen.com/subject/fzibfhtx.html