3.docker基础架构

3.docker基础架构

docker是一个典型的c/s架构产品。

dockerd :为客户端提供  RESTFUL API,响应来自客户端的请求, 采用模块化的架构, 通过专门的 Engine 模块来分发管理各 个来自客户端的任务。 可以单独升级;

docker-proxy :是 dockerd 的子进程, 当需要进行容器端口映射时, docker-proxy 完成网络映射配置;

[root@master ~]# ps -ef |grep  [doc]ker-proxy
root : ? :: /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port -container-ip 172.17.0.3 -container-port
[root@master ~]# ps -ef |grep []
root 2月19 ? :: /usr/bin/dockerd -H fd://
root : ? :: /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port -container-ip 172.17.0.3 -container-port

containerd :以前是dockerd 的子进程(在此版本中独立运行), 提 供 gRPC 接口响应来自 dockerd 的请 求,对下管理 runc 镜像和容器环境。 可以单独升级;

[root@master ~]# pstree
systemd─┬─NetworkManager─┬─dhclient
│ └─*[{NetworkManager}]
├─abrt-watch-log
├─abrtd
├─*[agetty]
├─auditd───{auditd}
├─containerd─┬─*[containerd-shim─┬─pause]
│ │ └─*[{containerd-shim}]]
│ ├─containerd-shim─┬─etcd───*[{etcd}]
│ │ ├─sh
│ │ └─*[{containerd-shim}]
│ ├─containerd-shim─┬─kube-apiserver───*[{kube-apiserver}]
│ │ └─*[{containerd-shim}]
│ ├─containerd-shim─┬─kube-scheduler───*[{kube-scheduler}]
│ │ └─*[{containerd-shim}]
│ ├─containerd-shim─┬─kube-controller───*[{kube-controller}]
│ │ └─*[{containerd-shim}]
│ ├─containerd-shim─┬─kube-proxy───*[{kube-proxy}]
│ │ └─*[{containerd-shim}]
│ ├─*[containerd-shim─┬─nginx───nginx]
│ │ └─*[{containerd-shim}]]
│ ├─containerd-shim─┬─flanneld───*[{flanneld}]
│ │ └─*[{containerd-shim}]
│ ├─*[containerd-shim─┬─pause]
│ │ └─*[{containerd-shim}]]
│ ├─*[containerd-shim─┬─coredns───*[{coredns}]]
│ │ └─*[{containerd-shim}]]
│ └─*[{containerd}]
├─crond
├─dbus-daemon
├─dockerd─┬─docker-proxy───*[{docker-proxy}]
│ └─*[{dockerd}]

containerd-shim:是 containerd 的子进 程,为 runc 容器提供支持,同时作 为容器内进程的根进程。 runc 是从 Docker 公司开源的 libcontainer 项目演化而来

上一篇:HDU 3974 Assign the task(dfs建树+线段树)


下一篇:Linux网络栈下两层实现