使用Docker Machine和Swarm并通过Docker守护进程使用Swarm有什么区别?

在一个群体(一个经理和多个节点)中拥有多个docker机器并且在一个群体中拥有多个docker服务的副本之间究竟有什么区别?

那么,由于没有人回答这个问题,我在互联网上进一步阅读,试图理解这两个概念之间的区别。 这是我迄今为止所了解的:

  • Docker Machine是一个运行Docker Engine实例的非常小的虚拟机器。 这意味着我们可以在其中运行Docker容器。 它可以被理解为一个容器的容器。
  • Docker Engine( 自1.12版本以来 )提供了一个名为Swarm Mode的模块,该模块为连接和编排包含Docker引擎的许多机器(物理或虚拟Docker机器)提供了内置的支持。 这基本上build立了一个由pipe理者(一个中央节点)指挥的节点networking。 此时,服务的一个实例可以被复制,并且pipe理者可以有效地在节点上传播副本。
  • 或者,Docker机器可以运行Swarm容器(基于Swarm镜像 ),它可以像前一种情况一样运行。 同样,我们可以让一个Docker Machine作为一个pipe理者,而其他许多人则作为节点行事,只是这次pipe理者不会平衡一个服务的副本,而是整个容器。 当启动一个新的容器时,pipe理器将把它分配给某个节点。 这是Swarm独立版本,只有在使用1.12以前版本的Docker时才推荐 – 否则Swarm模式是更好的select。

我希望这有帮助。