这些东西现在真的变得很困惑。有人可以解释发生了什么吗?只是直线的一线差异。
dockerd
libcontainerd
containerd
docker-containerd
docker-runc
docker-containerd-ctr
docker-containerd-shim
谢谢
dockerd -Docker守护程序本身。列表中最高级的组件,也是列出的唯一“ Docker”产品。提供Docker的所有出色的UX功能。
(docker-)containerd- 还有一个守护程序,在Unix套接字上侦听,公开gRPC端点。处理所有底层容器管理任务,存储,图像分发,网络附件等。
(docker-)containerd-ctr- 一种轻量级的CLI,可直接与容器通信。可以将其视为“ docker”与“ dockerd”的关系。
(docker-)runc- 用于实际运行容器的轻量级二进制文件。处理与Linux功能(例如cgroup,名称空间等)的低级接口。
(docker-)containerd- shim- 在runC实际运行容器之后,它退出了(允许我们没有任何长时间运行的进程负责我们的容器)。垫片是位于容器和Runc之间的组件,以方便此操作。