Docker engine 是运行和管理容器的核心软件,我们常简单称为Docker或Docker平台,其与VMware的ESXi有点像。
Docker engine采用模块化的设计,且有许多可插拔组件。其基于Open Container Initiative(OCI)制定的开放标准。
组成Docker engine的三个主要部件:daemon、containerd、runc,如下图所示:
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进行通信。
转载于:https://my.oschina.net/niweiwei/blog/3059493