Как проверить docker-compose с разными конфигурационными файлами? - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть docker-compose.local.yml файл, который выглядит следующим образом:

version: "3.6"

services:
  rabbitmq:
    image: "rabbitmq:latest"
    ports:
      - "15672:15672"
      - "5672:5672"
    volumes:
      - "./enabled_plugins:/etc/rabbitmq/enabled_plugins"
  abc-service: &a-service
    image: ${DOCKER_REGISTRY}unicorn/a-service:${DOCKER_IMAGE_LABEL:-latest}
    build:
      context: .
      dockerfile: ./debugging/Dockerfile
    ports:
      - "0.0.0.0:8080:8080"
    depends_on:
      - rabbitmq
    environment:
      - NODE_ENV=development
      - GOOGLE_SHEET_TAB=abc
    configs:
      - source: abc-service
        target: ./bin/csv/main.csv
  def-service:
    <<: *a-service
    environment:
      - NODE_ENV=development
      - GOOGLE_SHEET_TAB=def
    configs:
      - source: def-service
        target: ./bin/csv/main.csv
configs:
  abc-service:
    file: ./csvs/abc.csv
  def-service:
    file: ./csvs/def.csv

Итак, это создает 3 службы ... службу RabbitMQ, службу под названием abc-service и служба def-service , которая копирует из abc-service, но изменяет переменную среды на вкладке листа Google.

Обе эти службы работают из разныхCSV-файлы.

У меня есть структура папок, такая как

-
  - src
  - bin
     - csv
  - csvs

, мои копии Dockerfile копируют src и bin в мой контейнер.Я хочу, чтобы мой docker-compose скопировал правильный файл csv в папке csvs для этой службы в папку bin / csv , как указано в разделе конфигурации.

КогдаЯ пытаюсь запустить свои сервисы локально, они не скопировали csv в папку.Похоже, это происходит потому, что для запуска требуется Docker Swarm.

Правильно ли я это делаю?Я видел много разговоров о том, что нужно запускать команды CLI для добавления файлов CSV в качестве переменных конфигурации докера ... Но я не до конца понимаю это, и как это позже будет работать с моим автоматическим развертыванием gitlab?Кроме того, как я могу легко протестировать мое приложение, используя правильный (или, по крайней мере, копируя правильный) CSV в папку bin / csv ?

...