Docker 在 docker swarm 集群上编写独立节点上的独立容器

Docker compose on docker swarm cluster separate containers on separate nodes

运行 docker compose 为数据库应用程序和日志组成几个容器 docker swarm 集群使所有这些容器 运行 在 [=14] 的每个节点上=] 蜂拥而至。但是需要的是传播它,例如我有 4 个节点,其中 3 个需要 运行 副本集和第四个应用程序。 我如何让用户 docker 为它撰写和蜂拥而至?或者可能需要一些其他工具。

要 运行 单独节点上的东西,您需要使用 docker 1.9、swarm 1.0 和 compose 1.5 版本中的新 docker 网络。

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

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

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

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

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

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

Get started with multi-host networking

测试:

  • docker 1.11.1
  • docker-机器 0.7.0
  • docker-撰写 1.7.0
  • docker-swarm 1.2.1

注意:作曲家标志 --x-networking 已弃用,此标志不再出现在 1.6 或更高版本中。