Docker守护程序和Docker引擎有什么区别?

17

有人能解释一下这两者之间的区别吗?其中一个包含了Docker运行时。

3个回答

17

Docker Engine是Docker的核心产品,包括其守护进程(dockerd)和其CLI(docker)。Docker守护进程只是Docker Engine的一部分。

引用Docker engine概述页面:

Docker Engine是一个开源的容器化技术,用于构建和容器化应用程序。Docker Engine作为一个客户端-服务器应用程序,具有以下功能:

  • 长时间运行的守护进程dockerd的服务器。
  • APIs提供了程序可以使用的接口,与Docker守护进程通信和指令。
  • 命令行界面(CLI)客户端docker。

8

它们是同一个东西,也不是。

Docker守护程序和引擎指的是同一个dockerd进程。Docker本身已经不再将容器运行时放置在dockerd二进制文件中。这个功能很久以前就被移动到了runc项目中,你可以根据自己的使用情况更换其他运行时。

在该运行时和Docker守护程序之间还有containerd,用于管理镜像、容器和文件系统层。因此,你可以将Docker守护程序看作由各种微服务组成的。


3

以下是一张图片,我认为比文字更容易理解。 我在这里找到了它的来源:链接

enter image description here


甚至从整个视频来看都不清楚。 - Gulzar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接