2015-10-23 7 views
3

Дженкинс-узел - это докер-контейнер, на котором выполняются задания. Работа jenkins, работающая на докереризованном узле jenkins, проверяет проект svn/git и запускает сборку и тестирование в других контейнерах докеров, запущенных заданием. При этом jenkins-job монтирует через «docker run -v : ...» файлы/каталоги из выписанного проекта в контейнер сборки. Это звучит как докер-в-докер, но, согласно http://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/, докер-в-докер не очень хорош в ци. С рекомендуемым подходом (монтируйте хост-док-хост хоста в контейнер jenkins-node), я столкнулся с проблемой, что смонтированные файлы в сборке-контейнере отображаются как пустые директории. Я думаю, это потому, что эти файлы не известны в хосте (они проверяются внутри контейнера jenkins-node). Предоставление флага --privileged не помогает.Jenkins-node как контейнер-докер

Однако подход «зло» докеров в докерах отлично подходит для этого сценария. Я делаю это с. неправильный или доклер-в-докер, как сюда пойти?

ответ

3

С помощью «разоблачения разъема док-станции» все пути тома будут относиться к хосту. Так что, если вам нужно получить доступ что-то в jenkins-node контейнере у вас есть два варианта:

  • Убедитесь, что каталог фотографии является объемом, и использовать --volumes-from jenkins-node в качестве аргумента для всех остальных контейнеров докеров. Из вашего вопроса звучит так, что контейнеры, созданные тестовым набором, будут настроены из репозитория приложений, так что это, вероятно, не очень хороший вариант.
  • сделать справочник на хост установленный том -v /git/checkouts:/path/in/jenkins-node/container при запуске jenkins-node. Таким образом, файлы на самом деле попадают на хост (не в контейнер jenkins-node), и вы сможете получить к ним доступ хост-путь.

Я бы также сказал, что статья, на которую вы ссылаетесь, является скорее предостережением. dind все еще сделано совсем немного, иногда это даже необходимо. Это не самое худшее из когда-либо, просто знайте, что это не серебряная пуля, и у нее есть собственный набор проблем/проблем.

+0

@denphin: второй вариант, который вы упомянули, близок к тому, что мне кажется нужным. Благодаря! – jmkg

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