6

我正在学习 docker swarm,并对 swarm 发现选项感到困惑,我看到互联网上的许多教程都使用此选项来使用 docker-machine 创建容器,但是当我输入docker swarm doc上的文档时,它说:

您正在查看旧版独立 Swarm 的文档。这些主题描述了独立的 Docker Swarm。在 Docker 1.12 及更高版本中,Swarm 模式与 Docker Engine 集成。大多数用户应该使用集成的 Swarm 模式。

那么,发现选项的用例是什么?所有教程都使用 docker-machine 创建一个 swarm,我总是需要它,或者可以在我的集群中的机器上安装 docker,将它们加入 swarm 并正常使用?

我看到了一些名称,例如Docker Swarmand Docker Swarm Mode,是否有任何区别或只是不同的方式来调用相同的功能?

4

1 回答 1

8

问:Docker Swarm 发现仍然相关吗?

答:,如果您使用 dockerSwarm Mode和 an overlay network(见下文)


Docker Swarm问:和之间有什么区别Docker Swarm Mode吗?

A:的,TL;DRDocker Swarm已弃用,不应再使用,Docker Swarm Mode(我们应该说Swarm Mode)是推荐的集群容器方式,具有可靠性、负载平衡、扩展和滚动服务升级。


Docker Swarm官方文档):

  • 是集群容器的老式方式(<1.12)
  • 使用专用容器构建Docker Swarm集群
  • 需要像Consul这样的发现服务来引用集群中的容器

Swarm Mode官方文档):

  • 是 在主机节点(称为/ )上集群容器的新推荐方式(>=1.12)managersworkers
  • 内置的Docker engine你不需要额外的容器
  • 如果你使用一个内置的发现服务overlay network(DNS解析在这个网络内完成),你不需要额外的容器

您可以在同一主题上查看此 SO 线程


问:我总是需要docker-machine创建一个群体吗?

答:docker-machine是在云中创建虚拟主机的助手,如 amazon ec2、azure、digitalocean、google、openstack...,或您自己的带有虚拟盒的网络。

要创建一个Swarm Mode,您需要:

  • 在每个主机(称为节点)上安装了 docker 引擎的多主机集群(这很docker-machine方便)
  • 运行docker swarm init以切换到Swarm Mode您的第一个管理器节点
  • docker swarm join在工作节点上运行以将它们添加到集群中

有一些细微的调整可以Swarm mode提高高可用性(推荐集群中的管理器数量,云中多个可用区中的节点放置)

希望这可以帮助!

于 2017-06-16T07:15:02.770 回答