Как я могу запускать один и тот же docker-compose.yml несколько раз на одном и том же докере-демоне с разными именами?

Мое положение. Пытается несколько раз запускать структуру докеры в одной коробке. Это мой docker-compose.yml:

version: '3'
services:
  code:
    image: organization:java-maven
    links:
      - mysql:mysql
    volumes:
      - "${PWD}:/home/ubuntu/src"
  mysql:
    image: organization:mysql

Выполнение этого дважды с помощью docker-compose run code mvn clean test создает два контейнера code и один контейнер mysql.

Теперь я хочу, чтобы один code был связан с одним mysql и другим code, связанным с другим mysql.

Как это сделать? Предполагается, что он работает на подчиненных jenkins, а maven-исполнения не могут использовать mysql.

Я неудачно пробовал с параметром "-e KEY = VALUE" для docker-compose run вместе с container_name в файле компоновки докеров.

Не уверен, как подойти к этому, пожалуйста, помогите, спасибо.

Ответ 1

Поэтому я слишком сосредоточился на использовании директив для изменения имен контейнеров вручную. Решение было намного проще.

docker-compose -p anything run code mvn clean test

docker-compose -p anything_else run code mvn clean test

Итак, это решение для имени проекта. Docker compose будет использовать значение, заданное параметром -p в качестве префикса при создании имен контейнеров. Это означает, что нет столкновения.

Очень кстати!

Для получения дополнительной информации: документация вокруг опции имени проекта