三、Docker引擎

Docker engine 是运行和管理容器的核心软件,我们常简单称为Docker或Docker平台,其与VMware的ESXi有点像。

Docker engine采用模块化的设计,且有许多可插拔组件。其基于Open Container Initiative(OCI)制定的开放标准。

组成Docker engine的三个主要部件:daemon、containerd、runc,如下图所示:

5685dac38d899e5ecfc8c49cfb5cf11e60c.jpg

cf87ba842ce51291281dbc28ec2166589b3.jpg

runc:小巧且轻量级的针对libcontainer的CLI包装器,在生命周期中的一个单一目的是create containers。实际上是一个独立的容器运行时工具。

containerd :主要包括容器的执行逻辑,唯一目的是管理容器的生命周期操作: start | stop | pause | rm....
例子:启动一个新容器

命令:docker container run

$ docker container run --name ctr1 -it alpine:latest sh (基于alpine:latest镜像启动一个新容器)

当在Docker client输入上述命令时,将其转换成 合适的API payload,然后把他们POSTs到正确的API端点。

注:daemon不包含任何创建容器的代码,其与containerd通过CRUD-style API进行通信。

4f73c38a37fe64e4244f7d169c4d697f1c4.jpg

转载于:https://my.oschina.net/niweiwei/blog/3059493

猜你喜欢

转载自blog.csdn.net/weixin_34114823/article/details/91962556