Django live reload не работает со вторым файлом docker-compose

Я хочу создать 2 окружения. Тестовое и стандартное окружение dev. Мне нужно запустить тестовый сервер django в тестовом окружении и обычный сервер manage.py runserver в другом. Основное dev окружение будет использовать docker-compse.yml, а тестовое окружение будет использовать test.yml. Когда я запускаю docker-compose up, live-reload работает нормально. Когда я запускаю docker-compose -f test.yml up, тестовый сервер работает, но docker не выполняет живую перезагрузку. Я добавляю одинаковые сервисы в оба файла, чтобы сократить синтаксис CLI.

docker-compose.yml

version: "3.9"

services:
    web:
        build: 
          dockerfile: ./compose/django/Dockerfile
          context: .
        container_name: main_app_django
        env_file: 
          - ./.local/.env
        command: compose/django/start.sh
        volumes:
          - .:/code
        ports:
          -  "8000:8000"
    
    redis:
      container_name: main_app_redis
      image: "redis:alpine"
      command: redis-server
      ports:
        - "6379:6379"
    

    celeryworker:
      build: 
        dockerfile: ./compose/celery/Dockerfile
        context: .
      container_name: main_app_celery
      command: celery -A app worker -l INFO
      env_file: 
        - ./.local/.env
      volumes:
        - .:/code 
      depends_on:
        - redis   

test.yml

version: "3.9"

services:
    web:
      build: 
        dockerfile: ./compose/django/Dockerfile
        context: .
      container_name: test_main_app_django
      env_file: 
        - ./.local/.env
      command: > 
        sh -c "python manage.py makemigrations &&
          python manage.py migrate && python manage.py testserver cypress/fixtures/user.json cypress/fixtures/tracks.json --addrport 0.0.0.0:8000"
      volumes:
        - .:/code
      ports:
        -  "8000:8000"
    
    redis:
      container_name: test_main_app_redis
      image: "redis:alpine"
      command: redis-server
      ports:
        - "6379:6379"
    
    celeryworker:
      build:
        dockerfile: ./compose/celery/Dockerfile
        context: .
      container_name: test_main_app_celery
      command: celery -A appworker -l INFO
      env_file: 
        - ./.local/.env
      volumes:
        - .:/code
      depends_on:
        - redis


Вернуться на верх