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容器运行过程中主要提供文件系统视角 ...
最新文章
- 如何使用mklink命令DIY自己的Windows Live Writer——安装、保存博文到D盘
- python培训比较好的机构-上海python培训比较好的机构
- django 分页功能
- 函数指针使用场景和选择_在N + 1场景中使用@NamedEntityGraph更有选择地加载JPA实体...
- BootStrap入门教程 (二)
- Mac键盘突然停止响应如何处理
- DenseNet解析
- 怎样快速做个 BI 系统
- 利用第三方Cookie和iframe完成广告显示(各大网站就是利用了第三方Cookie和iframe来显示百度和京东的广告)
- 如何下载天地图离线地图瓦片数据
- 来电弹屏功能在呼叫中心的应用
- 使用Python做饼图
- 88个建筑施工问题合集,堪称教科书
- `java`学习笔记(十二)`Java`--`String``StringBuffer``StringBuilder`
- 【佳学基因人工智能】ANACONDA下安装SCIPY
- 转:Jenkins+Jmeter+ant接口自动化框架for Linux学习
- cesium 水位模拟_SuperMap iClient3D for WebGL教程- 淹没分析
- android 播放gif动画效果,Android实现可播放GIF动画的ImageView
- TXT 文件编码类型
- 10个科学睡眠的小细节
热门文章
- python画不同颜色的直方图_python - 使用matplotlib同时绘制两个直方图
- c语言运行太短怎么毡筒,C语言编程中的常见问题-最新文档.doc
- JSP入门及JSP三种脚本
- android仿微信识别相册中二维码图片信息
- 如何学英语?一个猛人的自述:我如何用一年时间考上欧盟口译司
- Android 多渠道 打包 —— walle 和 gradle 对比 (一)
- 二叉树深度的算法 ~
- 【论文阅读】ICNet: Intra-saliency Correlation Network for Co-Saliency Detection
- 为何世人皆称春酿独好?
- 用termux运行python代码_没有电脑?不能运行代码?试试用手机搞定