Я перемещаю наше веб-приложение в развертывание с созданием докеров (Django, DRF, AngularJS).
Теперь Docker выглядит солидно, и дела идут хорошо.
Я хочу:
- подтвердить с вами, что я следую лучшим практикам в отношении файлов конфигурации приложений
- узнайте, действительно ли «файлы томов» являются привязанными монтированиями, которые не рекомендуются
Мне удалось использовать переменные среды и секреты создания докеров, прочитанные из файла Django settings.py
, и это работает. Недостатком является то, что переменные среды ограничены простыми строками и могут создавать некоторые проблемы с уходом при отправке списков Python, словарей и т. д. Мы также должны определять и поддерживать множество переменных среды, поскольку наше веб-приложение установлено во многих местах и имеет широкие возможности настройки. .
На стороне внешнего интерфейса (AngularJS) у нас есть два файла constants.js
и файл конфигурации nginx. Я использовал CMD ["/start.sh"]
в Dockerfile и имею несколько команд sed
. Но это выглядит очень хакерским, и это также означает, что мы должны определить и поддерживать довольно много переменных среды.
Хорошо ли использовать тома Docker для этих файлов конфигурации?
Существует ли на самом деле такое понятие, как "файл тома" (упомянутый здесь) или это на самом деле привязка? А монтирование с привязкой менее рекомендуется, поскольку оно зависит от файловой системы и пути к файлу на хосте.
документация Volumes кратко упоминает files: «путь, по которому файл или каталог монтируются в контейнере», но не вдается в подробности.
Наше веб-приложение теперь имеет простые файлы конфигурации:
settings.py
site\contants.js
admin\constants.js
и:
Я хочу избежать перемещения этих файлов в выделенные каталоги, которые можно смонтировать.
Можете ли вы показать мне образец файла docker-compose.yml с томами из одного файла (без привязки).
Спасибо