Я работаю над проектом с несколькими соавторами;для совместного использования кода и вычислительной среды мы установили репозиторий github, включающий файлы Dockerfile
и docker-compose.yml
.Я могу работать над кодом, и мои соавторы могут просто извлекать репозиторий, запускать docker-compose up
и иметь доступ к моим ноутбукам Jupyter в той же среде, в которой я их разрабатываю.
Единственная проблема с этим заключается в том, что мымы работаем на разных сайтах, данные, которые мы вычисляем, находятся в разных местах.Итак, со своей стороны, я хочу, чтобы мои docker-compose.yml
включали:
volumes:
- /mnt/shared/data:/data
, в то время как моим соавторам нужно, чтобы он сказал что-то вроде
volumes:
- /Volumes/storage/data:/data
Я получу один способ сделать это:использовать переменную среды;в файле docker-compose.yml
:
volumes:
- "$DATA_PATH":/data
Это заставляет их запускать что-то вроде:
DATA_PATH=/Volumes/storage/data docker-compose up
В качестве решения это не обязательно проблема, но она кажется неуклюжей дляя и не может самодокументироваться в хранилище.Я могу обернуть docker-compose в сценарий оболочки (потенциальное решение практически любой проблемы), но это также кажется неуклюжим.Я не могу не подозревать, что здесь есть лучшее решение.Docker-compose допускает такую функциональность?Есть ли лучший способ сделать это?Если нет, мне любопытно, если кто-нибудь знает, что может быть мотивом исключения этой функции и / или почему это не считается хорошей идеей.
Заранее спасибо.