本文介绍了Docker的三大工具:Docker Machine用于创建和管理Docker主机,Docker Compose用于单引擎模式下的多容器应用部署和管理,而Docker Swarm则是一个集群管理工具,提供微服务应用编排功能。Docker Machine支持在不同环境配置Docker主机,Compose通过yaml文件实现容器编排,Swarm则提供集群管理和应用编排,但相比Kubernetes功能较少。
Docker Machine
简介
Docker Machine 是一种可以让您在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机。
Docker Machine 也可以集中管理所有的 docker 主机,比如快速的给 100 台服务器安装上 docker。
Docker Machine 管理的虚拟主机可以是机上的,也可以是云供应商,如阿里云,腾讯云,AWS,或 DigitalOcean。
使用 docker-machine 命令,您可以启动,检查,停止和重新启动托管主机,也可以升级 Docker 客户端和守护程序,以及配置 Docker 客户端与您的主机进行通信。
Swarm 集群管理
简介
Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API,所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。
支持的工具包括但不限于以下各项:
-
Dokku
-
Docker Compose
-
Docker Machine
-
Jenkins
原理
如下图所示,swarm 集群由管理节点(manager)和工作节点(work node)构成。
-
swarm mananger:负责整个集群的管理工作包括集群配置、服务管理等所有跟集群有关的工作。
-
work node:即图中的 available node,主要负责运行相应的服务来执行任务(task)。