У меня есть контейнер докеров, который запускает python script: ожидает ввода запросов и обработки данных соответственно.
Поскольку я использую docker для разработки, , я бы хотел, чтобы всякий раз, когда я меняю исходный код этого файла python (на моей машине, а не на контейнере), контейнер останавливает python script и перезапускает это с новым кодом. Потому что сейчас я должен вручную остановить контейнер и перезапустить его. Я мог бы также следить за изменениями файлов на моей стороне (а не внутри контейнера), но я хотел бы избежать этого и сделать это внутри самого контейнера.
Я использую параметр docker-compose volumes
для совместного использования исходного кода между моим FS и контейнером.
Чтобы отслеживать изменения файла, я пытаюсь использовать утилиту watchmedo из watchdog модуль python. У меня просто есть эта странная проблема, что я не могу заметить изменения файла этого исходного файла python, если я не редактирую его изнутри контейнера, а не в своей локальной FS, даже если они установлены с помощью volumes
.
Мне кажется, что это связано с тем, как работает докер, а может и с томами. Я пытался прочитать его в Интернете, но не получил большой удачи. Есть идеи? Я полностью застрял!
EDIT: Здесь gif, который лучше объясняет это. Верхняя часть панелей подключается к одному и тому же контейнеру, а нижняя - к локальной машине. Все панели указаны в одной папке.