有人能解释一下这两者之间的区别吗?其中一个包含了Docker运行时。
Docker Engine是Docker的核心产品,包括其守护进程(dockerd)和其CLI(docker)。Docker守护进程只是Docker Engine的一部分。
引用Docker engine概述页面:
Docker Engine是一个开源的容器化技术,用于构建和容器化应用程序。Docker Engine作为一个客户端-服务器应用程序,具有以下功能:
- 长时间运行的守护进程dockerd的服务器。
- APIs提供了程序可以使用的接口,与Docker守护进程通信和指令。
- 命令行界面(CLI)客户端docker。
它们是同一个东西,也不是。
Docker守护程序和引擎指的是同一个dockerd
进程。Docker本身已经不再将容器运行时放置在dockerd
二进制文件中。这个功能很久以前就被移动到了runc项目中,你可以根据自己的使用情况更换其他运行时。
在该运行时和Docker守护程序之间还有containerd,用于管理镜像、容器和文件系统层。因此,你可以将Docker守护程序看作由各种微服务组成的。