Запустите два файла docker-compose один за другим, образ tiangolo - PullRequest
0 голосов
/ 04 октября 2018

Я довольно новичок в докере, поэтому я нашел это изображение с предустановленным flask-uwsgi-nginx и запускаю его с помощью следующей команды:

docker-compose -f docker-compose.yml -f docker-compose.override.yml up

docker-compose.yml

version: '3'
  services:
    web:
      build: ./

docker-compose.override.yml

version: '3'
 services:
  web:
   volumes:
    - ./app:/app
    - /var/run/docker.sock:/var/run/docker.sock
   ports:
    - "80:80"
   environment:
    - FLASK_APP=app/main.py
    - FLASK_DEBUG=1
    - 'RUN=flask run --host=0.0.0.0 --port=80'

Мой вопрос: действительно ли мне нужно запускать его с двумя файлами композиции?если так, то почему?

1 Ответ

0 голосов
/ 04 октября 2018

Вам не нужно использовать два файла.Вы можете объединить эти два файла в один и просто использовать его.

Второй файл перезаписывает уже существующие настройки из первого.Это может быть полезно в некоторых ситуациях.Вы можете использовать разные файлы «перезаписи» для проверки разных настроек.

Например, вы разрабатываете веб-приложение.Это веб-приложение имеет обычную конфигурацию, которая действует в любом случае.Эти конфиги будут в docker-compose.yml.Теперь вы запускаете его во время разработки в «режиме разработки».Этот режим имеет несколько конфигураций, которые вы передаете через docker-compose.dev.yml.Вы запускаете свое приложение с этими двумя файлами и можете работать локально.После окончания работы вы хотите протестировать ваше приложение в «производственном режиме».Все конфиги для этого режима находятся в другом файле, а именно docker-compose.prod.yml.Теперь вы можете запустить приложение в этом режиме, просто заменив второй аргумент -f в docker-compose up.

Имена файлов docker-compose.yml и docker-compose.override.yml не являются обязательными.Если эти файлы присутствуют, они используются по умолчанию.

...