Docker在docker swarm集群上组成单独的节点上的容器

时间:2015-11-03 13:02:02

标签: docker docker-compose docker-swarm

运行docker compose,它为数据库应用程序组成了几个容器,并且在docker swarm集群上登录,使得所有这些容器都在docker swarm的每个节点上运行。但我们需要的是传播它,例如我有4个节点,其中3个需要运行副本集和第四个应用程序。 我怎么可以使用docker compose和swarm呢?或者可能需要一些其他工具。

2 个答案:

答案 0 :(得分:2)

要在不同的节点上运行,您需要使用docker 1.9,swarm 1.0和compose 1.5版本中的新docker网络。

如果您使用的是每个节点的最新版本,则可以在每个节点上设置节点标签,并使用swarm constraints在特定节点上放置特定服务。

使用compose 1.5.0,您需要使用--x-networking选项启用多主机网络。

答案 1 :(得分:0)

现在,使用docker-swarm创建Docker多主机网络的正确方法是通过overlay网络驱动程序。

基本上,您使用docker-swarm创建具有多个节点的群集,并配置群集群集以支持使用overlay驱动程序的多主机网络。

使用swarm cluster设置overlay driver后,您或docker-compose将能够通过多个节点传播您的容器。

不幸的是,覆盖网络需要一些预先存在的条件才能创建一个,请在此处查看更多详细信息:

Get started with multi-host networking

经过测试:

  • docker 1.11.1
  • docker-machine 0.7.0
  • docker-compose 1.7.0
  • docker-swarm 1.2.1

注意:不推荐使用编写器标志--x-networking,并且版本1.6或更高版本不再存在此标志。