docker Swarm和Swarm模式有什么区别?

我想知道是否有人能够区分这两者。他们都有类似的命名。

Docker Swarm是一个独立的产品,您可以使用它来群集多个Docker主机。 在Docker版本1.12之前,它是群集主机的唯一本机Docker选项,它需要大量的额外设置来实现分布式状态,服务发现和安全性。

随着Docker 1.12, Swarm模式被内置到Docker引擎中。 要运行集群,只需要在多台机器上安装Docker,运行docker swarm init切换到Swarm模式,然后运行docker swarm join将更多节点添加到集群。 状态,发现和安全都包含在零设置中。

Swarm模式是可选的,但如果你想运行几个Docker主机,这是首选的方式。 您可以在1.12版本中获得可靠性,负载平衡,缩放和滚动服务升级,并且很可能大部分新function都将进入Swarm模式。 原来的Docker Swarm产品将来可能只有维护更新(尽pipeSwarm是开源的 ,就像Docker Engine一样 )。

Docker Swarm (也是Swarm的经典)与Swarm模式有着根本的区别。 Docker 1.12版本将继续支持本地Swarmfunction,这样做是为了保持向后兼容性。

Docker Swram(经典)

  • 独立于Docker Engine,可以作为Container运行
  • 需要像Consul等外部KV商店,Zookeeper

用法示例:

 docker run swarm manage <consul-ip> docker -H <worker-ip> run swarm join --advertise=<worker-ip> <consul-ip> 

群模式(新的,更可取的)

  • 集成在Docker引擎中
  • 不需要单独的外部KV商店

用法示例:

 docker swarm init --advertise-addr <manager-ip> docker -H <worker-ip> swarm join --token <worker-token>