跨VM的多个类似容器

时间:2016-11-16 12:19:06

标签: docker docker-compose docker-swarm

我有2个应用程序打包为图像App1和App2。我想建立一个测试环境,其中App1的实例可以与App2的实例进行通信。我希望他们通过名称而不是IP地址进行通信。我可以用compose来完成这个,两个容器在同一个VM上运行正常。

但我需要将两个容器保存在不同的VM上。我可以使用Swarm来做到这一点。 VM1具有App1和VM2托管App2,两者都作为Swarm中的服务。但是现在我需要启动另一个包含App1和App2容器的等效测试环境。 Swarm不允许我创建另一个名为app1srv和app2srv的服务,因为这些名称已经在第一个测试环境中使用过。

您如何建议我设置新环境以及随后更多此类环境?

2 个答案:

答案 0 :(得分:0)

我可以建议您为不同的环境使用不同的名称:

  • APP1-刺

  • APP2-刺

  • APP1-INTEG

  • APP2-INTEG

就像这样,您可以使用相同的基本图像来容纳不同的容器。

答案 1 :(得分:0)

使用$COMPOSE_PROJECT_NAME-p设置撰写项目名称。项目名称用作容器和网络名称的一部分,因此它们将与其他名称隔离。

请参阅https://docs.docker.com/compose/overview/#/multiple-isolated-environments-on-a-single-host