Проблема с docker без подтверждения docker -compose.override.yml - PullRequest
0 голосов
/ 07 мая 2020

Я новичок в Docker. Я пытался поместить проект в контейнер для версий для разработки и производства. Я придумал очень простую конфигурацию c docker -compose, а затем попробовал функцию переопределения, которая, похоже, не работает.

Я добавил переопределения для томов в web и celery службы, которые фактически не подключаются к контейнеру, могут подтвердить то же самое, просмотрев журнал проверки обоих контейнеров.

Содержание файлов компоновки: -

docker -compose.yml

version: '3'

services:
  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    depends_on:
      - redis


  redis:
    image: redis:5.0.9-alpine

  celery:
    build: .
    command: celery worker -A facedetect.celeryapp -l INFO --concurrency=1 --without-gossip --without-heartbeat
    depends_on:
      - redis
    environment:
      - C_FORCE_ROOT=true

docker -compose.override .yml

version: '3'

services:
  web:
    volumes:
      - .:/code
    ports:
      - "8000:8000"

  celery:
    volumes:
      - .:/code

Я использую Docker с Pycharm на Windows 10.

Команда, выполняемая для развертывания конфигурации Compose: -
C:\Program Files\Docker Toolbox\docker-compose.exe" -f <full-path>/docker-compose.yml up -d

Команда, выполняемая для проверки одного из контейнеров: -
docker container inspect <container_id>

Любая помощь приветствуется! :)

1 Ответ

0 голосов
/ 07 мая 2020

Только что выяснил, что я предоставил файл docker -compose.yml явно для конфигурации запуска, созданной в Pycharm, так как было обязательно предоставить хотя бы один из них.

Команда, используемая Pycharm явно упоминает файлы .yml, используя параметр -f при запуске конфигурации. Добавление файла docker -compose.override.yml в конфигурацию запуска изменило команду на
C:\Program Files\Docker Toolbox\docker-compose.exe" -f <full_path>\docker-compose.yml -f <full_path>/docker-compose.override.yml up -d

Это решило проблему. Спасибо Exadra37 за то, чтобы следить за выполняемой командой.

...