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

2

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

docker-compose up

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

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

dangonfast
источник
Это не docker-compose как таковой, но, скорее всего, процесс, запущенный в вашем Docker-контейнере. Какова точка входа / cmd этого контейнера и что вы создаете?
Микаэль Кьер
@ MikaelKjær Это так gunicorn(и это действительно в режиме автореадинга). Но: почему процесс в контейнере должен видеть то, что происходит на хосте? Я не
собираю
@ MikaelKjær Чтобы быть более точным: gunicornвсе, что находится в контейнере, запускается из образа, созданного Docker. Образ создается Docker и изменяется только всякий раз, когда он перестраивается (если меняются источники). Обновление кода в хосте разработки не влияет на образ докера, если только докер не позаботится об этом. gunicornне знает, что я изменяю код в хосте dev.
dangonfast
@ MikaelKjær коррекция: Я имею установку объема коды ... (я не заметил этого раньше, извините)
dangonfast
Я думаю, что это ответ. Я предполагаю, что gunicorn реагирует на смонтированный код.
Микаэль Кьер

Ответы:

2

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

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

Микаэль Къер
источник