Автоматическая перезагрузка в Docker Compose при изменении кода


2

Я начинаю некоторые услуги с docker-compose:

docker-compose up

Я замечаю, что всякий раз, когда я делаю изменения в кодовой базе, один из контейнеров (кстати, тот, который build: ./указан в файле компоновки Docker), перезапускается. Я предполагаю, что это связано с docker-compose, но я не могу найти ссылку на этот факт в документации.

Это действительно из-за docker-compose? Где это задокументировано?


Это не docker-compose как таковой, но, скорее всего, процесс, запущенный в вашем Docker-контейнере. Какова точка входа / cmd этого контейнера и что вы создаете?
Микаэль Кьер

@ MikaelKjær Это так gunicorn(и это действительно в режиме автореадинга). Но: почему процесс в контейнере должен видеть то, что происходит на хосте? Я не
собираю

@ MikaelKjær Чтобы быть более точным: gunicornвсе, что находится в контейнере, запускается из образа, созданного Docker. Образ создается Docker и изменяется только всякий раз, когда он перестраивается (если меняются источники). Обновление кода в хосте разработки не влияет на образ докера, если только докер не позаботится об этом. gunicornне знает, что я изменяю код в хосте dev.
dangonfast

@ MikaelKjær коррекция: Я имею установку объема коды ... (я не заметил этого раньше, извините)
dangonfast

Я думаю, что это ответ. Я предполагаю, что gunicorn реагирует на смонтированный код.
Микаэль Кьер

Ответы:


2

Согласно вашим комментариям, исходный код монтируется внутри контейнера, и ваша точка входа gunicornпросматривает этот исходный код и отслеживает любые изменения в нем.

Это похоже на хороший сценарий развития и одно из преимуществ, которое дает Docker.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.