Для меня ответ очевиден - данные принадлежат за пределами изображения.
Причина в том, что если вы строите изображение с данными внутри, как ваши коллеги собираются использовать его со своими данными?
Нет смысла говорить о данных, находящихся внутри или снаружи контейнера.Данные будут внутри контейнера.Вопрос только в том, как он туда попал?
Мой рекомендуемый процесс выглядит примерно так:
- Создайте изображение со всеми вашими сценариями, необходимыми инструментами, зависимостями и т. Д .;но не данные.Для простоты назовем этот образ
pipeline
. - Привязать данные монтирования в томах к контейнеру.
docker container create --mount type=bind,source=/path/to/data/files/on/host,target=/srv/data,readonly=true pipeline
Конечно, замените / path / to / data / files / on / host на соответствующий путь.Вы можете хранить свои данные в одном месте, а ваши коллеги - в другом.Вы делаете замену, подходящую для вас, и они должны будут сделать замену, подходящую для них.
Однако внутри контейнера данные будут находиться в / srv / data.Ваши сценарии могут просто предполагать, что это будет там.