повторное использование конфигов через контейнеры - PullRequest
1 голос
/ 16 октября 2019

В промышленности принято передавать и повторно использовать конфигурацию для док-контейнеров, некоторые конфигурации являются общими, а некоторые имеют пользовательские значения. например.

Обратите внимание, что в контейнере продукта есть настраиваемый параметр конфигурации. My_CUSTOM_CONFIG

customer:
  image: node
  build:
    context: ./Customer
    dockerfile: Dockerfile
  environment:
    DATABASE_HOST: database
    DATABASE_NAME: MyDB
    DATABASE_USER: myusername
    DATABASE_PASSWORD: mypassword
    SERVICE_PORT: 80
  depends_on:
    - database

product:
  image: node
  container_name: product
  restart: on-failure
  build:
    context: ./Product
    dockerfile: Dockerfile
  environment:
    DATABASE_HOST: database
    DATABASE_NAME: MyDB
    DATABASE_USER: myusername
    DATABASE_PASSWORD: mypassword
    SERVICE_PORT: 80
    My_CUSTOM_CONFIG: secret
  depends_on:
    - consul
    - database

enter image description here

1 Ответ

0 голосов
/ 16 октября 2019

Взгляните на env_file:

Добавление переменных среды из файла. Может быть одним значением или списком.

Введите это, скажем, .env:

DATABASE_HOST=database
DATABASE_NAME=MyDB
DATABASE_USER=myusername
DATABASE_PASSWORD=mypassword
SERVICE_PORT=80

, а затем используйте его в docker-compose.yml

customer:
  image: node
  build:
    context: ./Customer
    dockerfile: Dockerfile
  env_file: .env
  depends_on:
    - database

product:
  image: node
  container_name: product
  restart: on-failure
  build:
    context: ./Product
    dockerfile: Dockerfile
  env_file: .env
  environment:
    My_CUSTOM_CONFIG: secret
  depends_on:
    - consul
    - database
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...