Я пытаюсь объединить свои мысли вокруг томов Докера, но у меня должно быть что-то не хватает, чтобы понять это.Docker Data/Named Volumes
Предположим, у меня есть приложение Python, которое требует некоторой инициализации в зависимости от переменных env. То, что я пытаюсь достичь, имеет «Только код», из которого я могу запускать контейнеры, которые будут установлены при исполнении. Сценарий точки входа Главный контейнер затем прочитает и сгенерирует некоторые файлы из/только на контейнер Code only.
Я попытался создать образ, чтобы иметь копию кода
FROM ubuntu
COPY ./app /usr/local/code/app
Тогда docker create --name code_volume
И Докер-композе:
app:
image: python/app
hostname: app
ports:
- "2443:443"
environment:
- ENV=stuff
volumes_from:
- code_volume
я получаю сообщение об ошибке из приложения контейнер, говорящий, что он не может найти файл в/usr/local/code/app/src, но когда я запускаю code_volume с bash, тогда ls в папку, файл сидит там ...
Я попытался изменить права доступа, добавить/bin/true (видя это в некоторых примерах), но я просто не могу получить то, что хочу работать. Я проверил функцию docker volume create
, но, похоже, для хранения/совместного использования данных после этого
Что мне не хватает? Выполняется ли сценарий точки входа до монтирования томов? Есть ли какие-либо рекомендации для таких случаев, которые не связаны с установкой папок и хранением одной копии для каждого контейнера? Должен ли я снова думать о своих контейнерах?