docker镜像原理
1、镜像是什么
是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),这个打包好的运行环境就是image镜像文件。
只有通过这个镜像文件才能生成Docker容器实例(类似Java中new出来一个对象)。
2、UnionFS(联合文件系统)
Union文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem)。Union 文件系统是 Docker 镜像的基础。镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
特性:一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录
3、Docker镜像加载原理:
docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统UnionFS。
bootfs(boot file system)主要包含bootloader和kernel, bootloader主要是引导加载kernel, Linux刚启动时会加载bootfs文件系统,在Docker镜像的最底层是引导文件系统bootfs。这一层与我们典型的Linux/Unix系统是一样的,包含boot加载器和内核。当boot加载完成之后整个内核就都在内存中了,此时内存的使用权已由bootfs转交给内核,此时系统也会卸载bootfs。
rootfs (root file system) ,在bootfs之上。包含的就是典型 Linux 系统中的 /dev, /proc, /bin, /etc 等标准目录和文件。rootfs就是各种不同的操作系统发行版,比如Ubuntu,Centos等等。
4、为什么 Docker 镜像要采用分层结构
镜像分层最大的一个好处就是共享资源,方便复制迁移,就是为了复用。
比如说有多个镜像都从相同的 base 镜像构建而来,那么 Docker Host 只需在磁盘上保存一份 base 镜像;
同时内存中也只需加载一份 base 镜像,就可以为所有容器服务了。而且镜像的每一层都可以被共享。
重点 :
Docker镜像层都是只读的,容器层是可写的 。当容器启动时,一个新的可写层被加载到镜像的顶部。 这一层通常被称作“容器层”,“容器层”之下的都叫“镜像层”
当容器启动时,一个新的可写层被加载到镜像的顶部。这一层通常被称作“容器层”,“容器层”之下的都叫“镜像层”。
所有对容器的改动 - 无论添加、删除、还是修改文件都只会发生在容器层中。只有容器层是可写的,容器层下面的所有镜像层都是只读的。
总结:
Docker中的镜像分层,支持通过扩展现有镜像,创建新的镜像。类似Java继承于一个Base基础类,自己再按需扩展。
新镜像是从 base 镜像一层一层叠加生成的。每安装一个软件,就在现有镜像的基础上增加一层
docker镜像原理相关推荐
- Docker镜像原理学习理解
Docker镜像原理学习理解 一.Docker镜像的组成 1.Docker镜像图层 2.union file system 3.镜像层-bootfs 4.镜像层-rootfs 5.镜像层-依赖环境 6 ...
- Docker——Docker 镜像原理
Docker镜像原理 Docker镜像 镜像是什么? Docker镜像加载原理 分层理解 Commit镜像 Docker镜像(Images)总结 Docker镜像 镜像是什么? 镜像是一种轻量级.可执 ...
- docker镜像原理基础与dockerfile部署springboot项目
一.docker镜像原理 1.操作系统组成部分 进程调度子系统 进程通信子系统 内存管理子系统 设备管理子系统 文件管理子系统 网络通信子系统 作业控制子系统 Linux文件系统由bootfs和roo ...
- 六、Docker镜像原理
Docker镜像原理 1.常用概念解释 Dockfile是什么?(创建docker镜像的一种脚本) Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指 ...
- docker配置阿里云镜像加速、镜像和容器常用命令、docker镜像原理
6. Docker 配置阿里镜像加速服务 6.1 docker 运行流程 6.2 docker配置阿里云镜像加速 查看自己的镜像加速地址(链接直达):https://cr.console.aliyun ...
- 深入分析Docker镜像原理
自:https://www.csdn.net/article/2015-08-21/2825511 摘要:8月20日晚上8点30分,CSDN Container微信群邀请到DaoCloud软件工程师孙 ...
- 深入分析Docker镜像原理 (转载)
深入分析Docker镜像原理 (转载) 发表于2015-08-21 13:50| 24023次阅读| 来源CSDN| 6 条评论| 作者孙宏亮 云计算DockerDaoCloud 摘要:8月20日晚上 ...
- 【Docker镜像原理容器数据卷】
文章目录 Docker镜像原理-commit镜像 一.镜像讲解 二.docker镜像加载原理 UnionFS (联合文件系统): 三.docker镜像分层 四.commit镜像 总结: 容器数据卷 五 ...
- Docker镜像原理及容器数据卷
什么是docker镜像? docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序.库.资源.配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷.环境变量.用户等):镜像不包含任 ...
- Docker镜像原理详解
第一部分:Docker镜像的基本知识 1.1 什么是Docker镜像 从整体的角度来讲,一个完整的Docker镜像可以支撑一个Docker容器的运行,在 Docker容器运行过程中主要提供文件系统视角 ...
最新文章
- Android日期对话框NumberPicker的用法教程
- Java左上到右下,java – 如何从上到下然后从左到右填充Gri...
- 有益的CountDownLatch和棘手的Java死锁
- 辽宁沈阳计算机学校王斯琪,青春正好,理所当“燃”——沈阳万合技校开展2020-2021年度春季学期跳大绳比赛...
- jssdk更新日志_关于jssdk版本的阿里云网站内容、产品介绍、帮助文档、论坛交流和云市场相关问题...
- 【英语学习】【Daily English】U11 Work L04 Can you keep it a secret?
- [MVC4]初识.NET MVC4
- php 自动换行,php imagettftext 规定宽度内自动换行
- Hbase 命令及配置文件
- 每周全球科技十大新闻(2019.8.12-8.18)
- 云服务器常见的几种防护方法
- android如何虚标内存,答疑 | 手机运存明明是6GB,但实际可用才3.5GB?是虚标还是什么?...
- 读《从优秀到卓越》乱摘
- ※ 数值信息——除二取余
- html字体插件,20款jQuery CSS文字特效插件(有图有真相)
- 关于正负数比较大小的问题
- Java 视频转换h265、h264、mkv、mp4
- Windows上安装Linux
- 一张图概括编程语言发展史
- C++文件操作Read函数
热门文章
- 开鑫贷鲍建富:经历“排毒” 网贷行业将迎来明媚春天
- HTML5开发手机项目-个人总结(转)
- 实现多线程、进程、线程、设置和获取线程名称、线程调度、线程控制、线程生命周期、同步代码块、线程安全的类、Lock锁、生产者消费者模式
- 捷通华声与海信共同打造优质手写手机
- atrix 4g linux,超级手机:摩托罗拉Atrix 4G_摩托罗拉 MB861(Atrix 4G)_手机Android频道-中关村在线...
- 将atomthreads应用到stm8s207上
- 用户与用户互发红包/支付宝C2C/B2C现金红包php源码示例/H5方式/兼容苹果/安卓
- jQuery WeUI的坑
- 公众号如何运营,大数据为你解说
- Ubuntu虚拟机安装VMware Tools