【Docker基础】01-Docker基本架构与原理

网友投稿 215 2022-10-21

【Docker基础】01-Docker基本架构与原理

​1.Docker基本架构与原理

虽然Kubernetes从1.20版本中不再使用Docker作为容器引擎,但docker还是被广泛使用的,实际上新的Kubernetes容器引擎containerd的使用方式与docker大致相同。先继续了解下Docker基础架构与原理吧。

先来简单描述一下容器与虚拟化的技术差别:虚拟化是将物理(硬件)资源如CPU、内存、存储、网络进行抽象转换为虚拟资源的技术,而容器技术其实是基于OS(操作系统软件)层面的虚拟化。理解一下这个公式:

​容器 = cgroup + namespace + rootfs + 容器引擎​

Client:docker CLI,就是命令行客户端REST API:客户端与服务端以API进行通信Server:是一个docker daemon守护进程,用于创建管理docker对象,如容器镜像、容器、网络、存储卷。

正常情况下,docker server以守护进程运行在主机上,client发出命令,通过REST API传递给server,server接收到指令开始执行相应的动作,如启动容器,挂载卷等。容器引擎管理着容器实例​​container​​​,镜像​​image​​​,存储挂载卷​​data volumes​​​和网络​​network​​​,当然镜像​​image​​​跟仓库​​registry​​​又是强相关的,即我们是通过仓库来保存镜像的,通过​​pull/push​​来下拉和推送保存镜像。

以官网的一张示意图说明这几者之间的关系。

docker-engine-explaination

图中的①②③④,就是上文讲到的docker引擎内容,①是client客户端,执行docker命令,②是通过Rest API在③docker daemon守护进程server进行通信,执行最终操作,基于⑤镜像来创建/运行④容器。⑥是镜像仓库Registry,可通过Pull/Push来获取与推送镜像。

​​http://meixuhong.com/01-docker-basic-architecture-and-principles.html​​

全文完。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Springboot 使用maven release插件执行版本管理及打包操作
下一篇:Deployment 使用 拓扑分布约束 达到 DaemonSet 同样的功能
相关文章

 发表评论

暂时没有评论,来抢沙发吧~