Как я могу получить доступ к моделям Django из приложения, запущенного в другом контейнере docker?

У меня есть приложение django, запущенное в контейнере docker, присоединенном к контейнеру mysql. Все определено в файле docker-compose.

Теперь мне нужен еще один запущенный контейнер filesystem_watcher, который будет периодически проверять каталог на хосте. Когда в этой директории появляются некоторые файлы, это приложение должно создать новый экземпляр модели Django и сохранить его в базе данных.

Единственный способ, который я могу придумать для этого, это:

  • Иметь контейнер Django с кодом приложения
  • Иметь контейнер для моего filesystem_watcher, в котором также будет находиться все приложение Django
  • Подключаем оба к одному контейнеру mysql

Мое приложение filesystem_watcher будет импортировать модели django и использовать их.

Это работает, но в этом сценарии и Dockerfile приложения Django, и Dockerfile filesystem_watcher содержат записи, которые копируют все приложение Django в оба контейнера. Если исходный код приложения Django изменится, оба контейнера нужно будет пересобрать.

Есть ли лучший способ сделать это без копирования приложения Django в контейнер filesystem_watcher?

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