架构说明
Docker目前采用了标准的C/S架构,包括客户端、服务端两大核心组件,同时通过镜像仓库来存储镜像。客户端和服务端既可以运行在一个机器上,也可通过socket或者RESTful API来进行通信
Docker服务端一般在宿主主机后台运行,dockerd作为服务端接受来自客户的请求,并通过containerd具体处理与容器相关的请求,包括创建、运行、删除容器等
架构图
什么是runC
runC是从Docker公司开源的libcontainer项目演化而来的,目前作为一种具体的开放容器标准实现加入Open Containers Initiative(OCI)。
runC已经支持了Linux系统中容器相关技术栈,同时正在实现对其他操作系统的兼容。用户也可以通过使用docker-runc命令来直接使用OCI规范的容器。
runC可以在CNCF的landscape中找到。
Docker工作流程说明