Docker Swarm与Swarm模式的区别?

初始化swarm在这个命令之间有什么区别:

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

和这个:

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

为什么我们需要swarm图像?

如果使用docker容器运行,则可以从一台服务器运行多个群集实例。 此外,swarmnetworking将在沙箱环境中运行,而不是在主机操作系统上运行。

如果要在Docker容器中运行它,则需要swarm图像。

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> 

来源: 比较Swarm,Swarmkit和Swarm模式

关于这个问题的另一个问题的伟大答案: “docker/群”和“docker/群集”之间的关系