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>