docker容器的创建与管理过程:
通信流程:
1.dockerd通过grpc与containerd模块通信,dockerd由libcontainerd负责和containerd进行交换,dockerd与containerd通信socket文件:/run/containerd/containerd.sock
2.containerd在dockerd启动时被启动,然后containerd启动grpc请求监听,containerd处理grpc请求,根据请求做相应动作。
3.若是start或是exec容器,containerd拉起一个container-shim,并进行相应的操作。
4.container-shim拉起后,start/exec/create拉起runC进程,通过exit、control文件和containerd通信,通过父子进程关系和SIGCHLD监控容器中进程状态。
5.在整个容器生命周期中,containerd通过epoll监控容器文件,监控容器事件
相关文章
- 01-01虚拟机与容器的混合管理实践
- 01-01Docker容器与win10访问wsl中的docker中容器
- 01-01从Docker的转变,谈容器生态与微服务的发展
- 01-01容器技术与Docker(第一节 容器的安装与下载)
- 01-01测试开发CICD——Docker——docker run —— 创建一个新的容器并运行一个命令
- 01-01测试开发CICD——Docker——docker run ——创建一个新的容器并启用(同一个镜像启动多个容器,端口设置,踩坑了 2)
- 01-01测试开发CICD——Docker——docker create ——创建一个新的容器但不启动它
- 01-01你必须知道的容器监控 (1) Docker自带子命令与Weave Scope
- 01-01测试开发CICD——Docker——docker run ——创建一个新的容器并启用(同一个镜像启动多个容器,端口设置,踩坑了 1)
- 01-01求助-docker swarm 部署集群如何指定创建服务(多个容器)的IP,这个VIP如何暴露出去?或 把具体的容器IP暴露出去?