Docker构成许多(数百个)环境

时间:2018-10-15 21:20:30

标签: docker docker-compose

我正在使用docker运行一个脚本,该脚本需要在大约100个不同的环境中运行。

最佳做法是什么?

在类似的情况下,但环境较少,我过去曾尝试过几种不同的方法,但是我不确定哪种方法最好。

  1. 我编写了一个脚本,该脚本循环遍历值并设置不同的环境。它在一个容器中运行,但是顺序

  2. 我编写了一个脚本,该脚本循环遍历值,设置环境并运行多个具有相应环境的进程。这也可以在一个容器中运行,并且是并行,但是每个容器原则上只能使用1个进程。另外,我注意到,当多个进程在同一个容器中运行时,它们会争夺网络,并且 CPU正在等待很长时间。

  3. 我写了一个丑陋的compose文件,唯一改变的是environment:子句。这样会创建多个容器,但由于大量复制/粘贴,因此似乎容易出错。

在撰写文件中是否存在诸如循环这样的事情,使我不必在yml文件中进行复制/粘贴?

1 个答案:

答案 0 :(得分:0)

我最终要做的是:

  1. 我创建了一个脚本,该脚本使用不同的命令环境
  2. 生成 docker-compose。$ {TYPE} .yml
  3. 我在 docker-compose.yml 文件中取出了“必需品”
  4. 我从docker-compose -f docker-compose.yml -f docker-compose.${TYPE}.yml up -d开始提供不同类型的服务

这样,我:

  1. 自动创建其他yml
  2. 我正在每个容器上运行一个进程
  3. 我正在并行运行容器