1. 容器分层结构图:

2.dockerfile分层的结构图:

配合图详解:

bootfs : kernel boot

rootfs : /etc /dev /bin /usr ..

容器的内核会映射到容器的rootfs,等启动到bootfs的时候,容器就会卸载掉rootfs,由系统的rootfs也就是kernel进行支持,而bootfs的目录结构就会很小,所以容器就会很小。

注意:不同linux的发行版的rootfs和bootfs是不一样,服务的软件包也不一样,如:centos7的是system.d ,centos6的是init.还有包管理器也不一样,如:Ubuntu的包管理器是apt,linux是yum。但是对于kernel差别不大,是开源的,自己定义就可以重新保装。

3.busybox嵌入式系统,是一个工具集,提供大量的工具命令,

busybox : others rootfs 提供其他程序的目录结构,只提供目录结构,不提供内核,嵌入式系统为上层的各自操作系统提供,如果是物理机的内核就走自己的最简单的rootfs,如果是其他操作系统就可以选择busybox提供的其他的目录结构。

用在:测试,存储结构

4.所有的容器无法对kernel进行升级,如果安装的环境需要其他的版本的内核,则不能安装在docker容器中,需要放在虚拟机中运行,对kernel没限制的则可以使用docker容器运行。

5.镜像的分层结构:

一般情况dockerfile都是基于base基础镜像上进行修改的。

例子:

vim dockerfile

FROM centos

RUN yum install net-tools -y

RUN yum install elinks -y

CMD ["/bin/bash"]

注释:elinks 浏览器

注意:

dockerfile 每一行命令是一层,从上往下,第一层是net-tools

又加了一层elinks

为什么要使用分层结构:

因为docker很多容器基于一个基础镜像,可以为所有容器提供服务,达到资源共享,

最上边的一层——可写容器层

Write container

容器层下边就是镜像层——只读镜像层

read image

文件叠加问题:

(1)如果容器的后两层有相同的文件,容器层只能读取到最上层的文件,越靠上层的文件越被读到,由上而下读取,

(2)如果是修改的文件的则只会保存到容器里,不会保存到基础镜像的层上,而且如果只修改b,则只读取b文件,并不会读取别的文件。

(3)读取文件的话,就是把最基础的东西读到镜像来,进行修改并不占用容器空间,只是将这个文件读取上来。

6.host storage (热数据备份)容器的存储结构

就是将修改的文件同步出来存放到物理机的存储结构上。

容器写时复制:container layer:COW

转载于:https://www.cnblogs.com/Leonardo-li/p/8822072.html

docker容器的分层思想相关推荐

  1. Docker容器回顾之运维篇

    一.背景 接上一篇<Docker复习之部署篇>,本文继续对Docker之日常维护常用操作做回顾总结. 官方文档: https://docs.docker.com/engine/refere ...

  2. java基础巩固-宇宙第一AiYWM:为了维持生计,架构知识+分+微序幕就此拉开之Docker(Docker概念:容器、镜像、仓库)、操作命令、Docker网络、分层、K8S<->Docker~整起

    架构知识+分+微序幕就此拉开之Docker 一.为什么要搞这个Docker,咱们为啥要学,盖房子? 二.Docker的镜像与容器 1.预备知识:虚拟(机).容器(化) 2.Docker.镜像.容器 3 ...

  3. 技术选型之Docker容器引擎

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | huashiou 来源 | https://s ...

  4. 《Docker——容器与容器云》:第五章 构建自己的容器云

    我们在第1章介绍了一个云计算平台应有的层次结构,其中平台即服务层(PaaS)是本书重点着墨描述的.尽管在一些经典PaaS平台中,容器技术已经扮演了一个至关重要的角色,但很遗憾,大部分经典PaaS平台中 ...

  5. Docker容器学习(一)

    文章目录 前言: 一.Docker 概述: 1.Docker 简介: 2.对比传统虚拟机: 二.基本概念: 1.镜像(image): 2.容器(container): 3.仓库(repository) ...

  6. Docker容器引擎

    文章目录 一.概述 1. Docker能解决的问题 2. Docker思想 3. Docker为什么这么火?(作用) 4. 底层 5. 官网和文档 6. 基本组成(图解) 7. 核心概念(名词) 10 ...

  7. Docker容器学习笔记(看了狂神视频)

    狂神的笔记更加系统详细,推荐大家可以去看狂神的视频教程和笔记.我这里仅根据我自己的需求写的笔记,对于需要快速掌握docker的使用的朋友可以参考学习. Docker 背景需求 之前,开发一套环境,上线 ...

  8. Docker容器技术 笔记

    Docker容器技术 Docker是一门平台级别的技术,涉及的范围很广,所以,在开始之前,请确保你完成:Java SpringBoot 篇(推荐完成SpringCloud篇再来)视频教程及之前全部路线 ...

  9. Docker容器学习笔记一

    Docker容器学习笔记一 狂神说B站视频:https://www.bilibili.com/video/BV1og4y1q7M4?p=1 Docker容器学习笔记二:https://blog.csd ...

最新文章

  1. 利用MAVEN打包可运行jar包,包括依赖的第三方包
  2. python定义一个dog类 类属性有名字毛色体重_面向对象实践,练习,Python
  3. python 学习笔记十九 django深入学习四 cookie,session
  4. java 手机声音提醒功能_java – 同时播放声音Android
  5. 如何查看电脑CPU实时功耗
  6. Exchange server 2013(十三)AD RMS客户端故障排除
  7. 【从理论到代码】旋转矩阵与欧拉角 一
  8. Kotlin — 心印(熟悉与锻炼Kotlin语法)
  9. Bash shell编程的语法知识点(1)
  10. 学用ASP.NET2.0
  11. SmartDrv的前世今生——PrimoCache_2.2.0汉化
  12. 北京交通大学计算机学院复试名单2021,北京交通大学2021年硕士研究生复试公告...
  13. 辣椒app软件测试,testflight辣椒视频APP
  14. php submit执行函数,jQuery.submit() 函数详解
  15. 平年和闰年c语言程序,C语言平年,平年闰年问题
  16. 智能电视如何测试软件,智能电视屏幕如何快速识别好坏?教你几招!
  17. 视频转换成gif动图的方法步骤
  18. 统一监控报警平台的架构设计思路分享
  19. 如何评价《Big Data:大数据时代》这本书?
  20. Qt 天气预报 天气查询 (代码附上)

热门文章

  1. Linux ls 只显示目录的方法
  2. [转载] 教你如何迅速秒杀掉:99%的海量数据处理面试题
  3. 毕业设计日志(13)
  4. 【Azure】微软 Azure 基础解析(六)计算服务中的虚拟机 VM、虚拟机规模集、Azure Functions 与 Azure 容器(ACI)
  5. 淘宝/京东/京粉 QQ 消息 转链 软件
  6. 基于ssh羽毛球馆管理系统
  7. canvas动画效果之星球守护
  8. python中判断生肖和星座哪个准_生肖与星座配对,生肖和星座配对,哪个准啊
  9. Oracle 单引号使用与转义
  10. 解决:Jupyter notebook无法自动弹出网址