Docker-compose, перезагружать сервер каждый раз, когда я вношу изменения в код

Я докеризирую свое приложение Django и у меня есть следующий docker-compose.yml файл:

version: '3'

services:
  # other services as db etc.
  web:
    container_name: web
    build:
      context: .
      dockerfile: Dockerfile.web
    restart: 'always'
    env_file:
      - csgo.env
    ports:
      - '8000:8000'
    volumes:
      - web:/code
    depends_on:
      - db

volumes:
  web:

Журналы приложения:

System check identified no issues (0 silenced).
web            | September 15, 2022 - 01:38:47
web            | Django version 4.0.7, using settings 'csgo.settings'
web            | Starting development server at http://0.0.0.0:8000/
web            | Quit the server with CONTROL-C.

Я хочу, чтобы мой контейнер (или приложение, не знаю) перезагружался всякий раз, когда я, скажем, вношу изменения в свои модели, функции и т.д. На данный момент, я добавил некоторую функциональность в свое приложение, отредактировал некоторые html представления, но никаких изменений не появляется и в логах приложения не написано, что оно перезагружается. Мне приходится перестраивать и снова создавать композицию, чтобы увидеть изменения. Как сделать live-reload composing up? Как отправить изменения в docker?

Спасибо!

Это может не быть точным ответом, который вы ищете, но это даст вам некоторые идеи.

Вы можете добавить еще один контейнер для мониторинга ваших действий на основе различных сервисов. Например, добавьте сервер "watchchanges" для проверки сервиса "my-service". Затем добавьте команду, это может быть Django "makemigration && migrate" или assets compile или что-то подобное.

watchchanges:
    <<: *my-service
    command: python ./manage.py makemigrations --env dev
    restart: unless-stopped
Вернуться на верх