Docker - несколько томов внутри dockerfile - PullRequest
0 голосов
/ 03 октября 2019

Я пытаюсь добавить несколько к VOLUME, но это не работает, как ожидалось. Вот мой файл докера.

FROM maven:3.6.1-jdk-8 as maven-build

VOLUME /apps/demo/conf
VOLUME /apps/demo/docs
VOLUME /apps/demo/logs

После создания образа докера я запустил его. Я не вижу файл внутри файловой системы докера, который я создал на хост-компьютере в / apps / demo / conf.

Я знаю, что могу передать его через командную строку через 'docker run -v path: path, но мне интересно, есть ли способ сделать это внутри Dockerfile.

Ответы [ 2 ]

2 голосов
/ 03 октября 2019

VOLUME X в Dockerfile не означает монтирование X из хост-системы. Все, что это делает, говорит Docker, чтобы они сохраняли данные, записанные в /apps/demo/conf из контейнера в каталоге хоста. Вы можете сделать это, если хотите сохранить некоторые данные при перезапуске контейнера, например. Если вы хотите смонтировать файловую систему хоста внутри контейнера, вы должны использовать run -v, как вы сказали.

0 голосов
/ 03 октября 2019

Основная цель тома - сохранить данные контейнера, если они каким-либо образом удалены. Если вы хотите скопировать конфигурацию, почему бы вам не использовать COPY внутри Dockerfile и не оставлять ее там. Вы ван КОПИ из разных каталогов.

И, как вы упомянули, если вы все еще хотите смонтировать его, используйте команду run -v

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...