Docker引擎——深入浅出Docker读书笔记(2)

Docker引擎:由Docker Client、Docker Daemon、containerd、shim和runc组成,结构为从上到下,层级调用。
Docker Daemon:主要功能包括镜像管理、镜像构建、 REST API、身份验证、安全、核心网络以及编排(看不懂没关系)。使用CRUD(创建、读取、更新和删除)的API,通过gRPC与containerd通信。
containerd:管理容器的生命周期(start|stop|pause|rm),位于Docker Daemon和runc之间(中间层),将image转换为OCI bundle。
shim的部分职责
保持所有STDIN和STDOUT流是开启的状态,使得当daemon重启的时候,容器不会因为管道(pipe)的关闭而终止。
将容器的退出状态反馈给daemon。
runc
OCI容器运行时标准的参考实现,唯一作用为创建容器,位于OCI层。
与操作系统内核接口进行通信,基于所有必要的工具(Namespace、CGroup等)来创建容器,容器运行时以进程形式存在,且runc进程是容器进程的父进程,runc在容器进程启动完毕时退出,由shim接管成为容器进程的父进程。
Docker引擎优点:将整个引擎分为4部分,各部分负责单一职责,实现了程序解耦,如对Daemon的升级不会影响到正在运行的容器,因为此时容器作为单独的进程存在,且由containerd管理生命周期(runc启动后就退出,由containerd-shim接管)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值