Docker Swarm发现仍然相关吗?

时间:2017-06-16 06:29:09

标签: docker cluster-computing distributed docker-swarm docker-swarm-mode

我正在学习docker swarm,并对群发现选项感到困惑,我看到互联网上的很多教程都使用这个选项来创建带有docker-machine的容器,但当我输入{{{ 3}}它说:

  

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

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

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

1 个答案:

答案 0 :(得分:6)

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

A:,如果您使用泊坞窗Swarm Modeoverlay network(见下文)

问。 Docker SwarmDocker Swarm Mode之间有什么区别吗?

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

Docker Swarmofficial doc):

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

Swarm Modeofficial doc):

  • 是主机节点上的新推荐方式(&gt; = 1.12)群集容器(称为managers / workers
  • Docker engine内置,您不需要额外的容器
  • 如果您使用overlay network(在此网络中完成DNS解析),则
  • 具有内置发现服务,您不需要其他容器

您可以查看此SO thread on same topic

问。我是否始终需要docker-machine来创建群组?

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

要创建Swarm Mode,您需要:

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

Swarm mode进行了一些微妙的调整,以提高高可用性(recommended number of managers in the swarm,云中多个可用区域中的节点位置)

希望这有帮助!