写在前面
- 嗯, 了考试,整理课堂笔记记忆
- 学习的原因:
- 虽然考了,了解了一些相关的知识
- 但是对整个体系一直都很模糊
- 希望对云原生有一个基本的认识
- 通过学习实现云原生相关入门
- 博文主要内容涉及:
- 关于Docker知识体系的简述,适合温习
- 讲的很浅,都是理论,没有实战
傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。——–王小波
云原生基础设施之容器技术
容器发展背景
企业IT业务云化路径
传统业务云化
容器是什么/h4>
是一种、、的技术,使应用程序可以在几乎任何地方以相同的方式运行。
开发人员在自己开发环境创建并测试好的容器,无需任何修改就能够在生产系统的虚拟机、物理服务器或公有云主机上运行
容器核心思想
将的思想应用到了上,为各类不同的代码提供了一个基于容器的标准化运输系统。
容器与虚拟机
容器和虚拟机 之间的主要在于和。
用户运行在容器里的,跟上的其他一样,都由宿主机操作系统统一管理,只不过这些拥有额外设置过的Namespace参数。而项目在这里扮演的角色,更,多的是旁路式的辅助和管理工作
主要指容器引擎,即。Docker Engine是-个应用程序。Docker engine主要组件有3部分:
- :是一个长期运行的程序,称为:Docker daemon用于创建和管理docker对象,如容器镜像、容器、 络、卷。
- :CLI使用Docker REST API通过脚本或直接的CLI命令与Docker daemon交互。
- :Client可以用它来与daemon进程通信交互。
Docker 架构
PID namespace隔离示例
以交互模式启动一个容器,并在其中运行程序。执行命令查看到””是的进程,即Docker将其隔离于宿主机中的其他进程之外。
Cgroups
: Linux Control Groups作用:,包括、、等。
还可以设置进程优先级,对进程进行挂起和恢复等操作。
原理 :将一组进程放在一个Cgroup中,通过给这个Cgroup分配指定的可用资源,达到控制这一组进程可用资源的目的
实现 :在Linux中,Cgroups以文件和目录的方式组织在操作系统的/sys/fs/cgroup路径下。该路径中所有的资源种类均可被Cgroup限制。
容器镜像
对软件开发而言,容器镜像打通了“开发 – 测试 – 部署”的流程。
是的模板,,根据镜像创建容器
容器镜像挂载在容器根目录下,为容器中的应用提供执行环境的文件系:容器镜像打包了整个操作系统的文件和目录(rootfs),也包括应用本身,即应用及其运行所需的所有依赖都被封装在容器镜像中。
联合文件系统,是实现镜像的技术基础。它是一种轻量级的高性能分层文件系统,支持将文件系统中的修改进行提交和层层叠加。这个特性使得镜像可通过分层实现和继承。
以Overlay2为例: Overlay2是一种堆叠文件系统,它依赖并建立在其它的,并不直接参与磁盘空间结构的划分,仅将原来中不同的,然后向,这也就是。
嗯,这里不太理解,感觉整理类似是linux中的LVM,局部类似写时复制技术,基础的镜像文件不会被修改,只是对修改进行记录,在写入的时候,对镜像文件写入部分进行复制,然后修改后记录。看到的是基础镜像文件 + 写时复制的记录的叠加。
容器数据卷
卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于,因此能够绕过提供一些用于或的特性。
将运用与运行的环境打包形成容器运行,对数据的要求希望是的。
容器之间希望有可能。
卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此。
- 启动容器的时候直接使用就可以进行数据卷的挂载。
- 还可以在中使用指令来给镜像添加一个或多个数据卷,
容器copy-on-write特性
对容器的增删改查:
- :新文件中。
- :依据容器分层结构由上往下依次查找。找到后,在。具体是:会在容器层创建一个文件,将。
- :依据容器分层结构由上往下依次查找。找到后,将中的到进行修改,修改后的数据保存在。
- :依据容器分层结构由上往下依次查找,
所有都支持和策略。
Registry
Registry是存放容器镜像的仓库,用户可进行镜像下载和访问,分为公有和私有两类Registry。
公有镜像仓库:
- 现为Red Hat下的公共托管Registryo
私有镜像仓库:
- 企业可以用构建私有的。本身是一个开源项目,可以用于搭建私有
Docker Hub中可查看到Registry镜像的。
Docker Hub
是目前世界上最大的容器镜像仓库,由公司维护,并提供官方镜像及大量用户上传的镜像。
如何使用Dockerfile构建镜像
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!