2016-03-08 2 views
0

Я создаю пользовательское изображение докеров с официального изображения jenkins. Я хочу установить maven на изображение и exteralize конфигурационный файл maven. Но я потерпел неудачу. После запуска контейнера существует пустой каталог /etc/maven. Я думаю, что это может быть проблема разрешения, но я не могу решить ее после исследования на полдня. Это мой докер файл:Как экстернализировать файл контейнера докера

FROM jenkins 
USER root 
RUN apt-get update && apt-get install -y maven 

То, что я пытался тогда в Докер-compose.yml:

jenkins: 
    build: /docker/jenkins/ 
    volumes: 
     - /srv/docker/jenkins:/var/jenkins_home 
     - /srv/docker/maven/conf:/etc/maven:rw # the rw flag has no effect! 
     - /srv/docker/maven/repository/:/m2:rw 

Я попытался удалить каталог /srv/docker/maven и пусть контейнер создать его на первое время Бег.

Затем я попытался добавить команду VOLUME /etc/maven в файл докеров до или после инструкции RUN apt-get update && apt-get install -y maven. Не использовать.

Я также пробовал chmod ugo+wx /srv/docker/maven, но все без эффектов.

ответ

0

Когда вы монтируете папку хоста в контейнер докеров, она перезаписывает папку контейнера. Поскольку файлы конфигурации maven создаются во время построения изображений, но том монтируется во время выполнения, том перезаписывает файлы conf.

Поскольку параметры пользователя maven перезаписывают глобальные настройки (см. https://maven.apache.org/settings.html), вы можете попробовать вместо этого установить папку пользовательских настроек.

+0

Спасибо за ваш ответ. Существует ли обычная практика для экстернализации файла '/ etc/foo/bar'configration? Docker дает возможность управлять данными контейнеров, и мне интересно, как решить эту проблему в режиме доклерлиза, более гибким способом. –

+0

Вам нужны «контейнеры объема данных», см. Https://docs.docker.com/engine/userguide/containers/dockervolumes/. Конфигурация затем может быть сохранена в контейнере объема данных, который можно сохранить и экспортировать. –

Смежные вопросы