Как централизовать докер инфраструктуры для нескольких репозиториев - PullRequest
0 голосов
/ 23 мая 2019

У меня есть несколько репозиториев, которые все зависят от общей инфраструктуры.Поэтому есть docker-compose.infrastructure.yml, который раскручивает все эти зависимости.

Пример:

version: '3.5'
services:

  seq:
    image: datalust/seq:latest
    container_name: seq
    ports:
      - "5341:80"
    environment:
      - ACCEPT_EULA=Y
    networks:
      - my-network

  couchbase:
    build:
      context: ./docker-compose/couchbase
      dockerfile: Dockerfile
    container_name: couchbase
    ports:
      - 8091:8091
      - 8092:8092
      - 8093:8093
      - 11210:11210
    environment:
      - USERNAME=**
      - PASSWORD=**
      - BUCKET=blah
    networks:
      - my-network

  localstack:
    build:
      context: ./docker-compose/localstack
      dockerfile: Dockerfile
    container_name: localstack
    environment:
      - SERVICES=s3,sqs
      - HOSTNAME=localstack
      - DEFAULT_REGION=eu-west-2
    ports:
      - "4572:4572"
      - "4576:4576"
      - "8080:8080"
    networks:
      - my-network
    volumes:
      - ./docker-compose/localstack/provision.sh:/docker-entrypoint-initaws.d/provision.sh

  eventstore:
    image: eventstore/eventstore:release-5.0.0
    container_name: 3ds2-eventstore
    environment:
      - EVENTSTORE_START_STANDARD_PROJECTIONS=TRUE
      - EVENTSTORE_RUN_PROJECTIONS=All
    ports:
      - "2113:2113"
      - "1113:1113"
    networks:
      - my-network

networks:
  my-network:
    name: my-network

Проблема в том, что каждый репо содержит одинаковые docker-compose.infrastructure.yml, и если происходит изменение инфраструктуры, это означает, что мы должны сделать одно и то же изменение на всехдругие репозитории.

Я пытаюсь выяснить, есть ли способ централизовать docker-compose.infrastructure.yml, либо разместив его где-нибудь, а затем заставляя все остальные репозитории его опускать и запускать.

Из того, что я понимаю, это не может быть изображение, потому что это потеряет среду и настройки порта.

Если есть элегантный способ централизовать сборку инфраструктуры для всех остальных репозиториев, пожалуйста, дайте мне знать, как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...