怎么理解docker 容器镜像

怎么理解docker 容器镜像?所谓镜像,就是一个静态概念,一个镜像由若干只读层(read-only layer)构成。一个基础的容器镜像其实就是一个 rootfs,它包含操作系统的文件系统(文件和目录),但并不包含操作系统的内核。

rootfs 是在容器里根目录上挂载的一个全新的文件系统,此文件系统与宿主机的文件系统无关,是一个完全独立的,用于给容器进行提供环境的文件系统。

对于一个docker容器而言,需要基于 pivot_root 指令,将容器内的系统根目录切换到rootfs上,这样有了这个 rootfs,容器就能够为进程构建出一个完整的文件系统,且实现了与宿主机的环境隔离,也正是有了rootfs,才能实现基于容器的本地应用与云端应用运行环境的一致。

为了方便镜像的复用,Docker 在镜像中引入了层(Layer)的概念,可以将不同的镜像一层一层的迭在一起。这样,如果我们要做一个新的镜像,就可以基于之前已经做好的某个镜像的基础上继续做。

比如说分层的方案,最底层是操作系统引导,往上一层就是基础镜像层(Linux的文件系统),再往上就是我们需要的各种应用镜像,Docker 会把这些镜像联合挂载在一个挂载点上,这些镜像层都是只读的。只有最上面的容器层是可读可写的。它可以将不同的目录全部挂载在同一个目录下。

原理应用在Docker镜像中,比如,技术小王已经做好了一个基于Linux的Java环境的镜像,小李想搭建一个Java Web环境,那么他就不必再去做Java环境的镜像了,可以直接基于小王的镜像在上面增加Tomcat后生成新镜像就可以。

融亿云的容器云产品基于docker技术实现,拥有上万Linux镜像,弹性强大,可弹性扩展,自由轻松搭建私有网络,支持按带宽或按流量,私有网络免费,性价比高,容器云

最后更新:2022/07/02
免责声明:本站部分内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。
如果您发现本社区中有涉嫌抄袭的内容请发送邮件至:Hi@r1yun.cn进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

在线评论