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/群集”之间的关系