Size: a a a

2018 February 22

DB

Dmitry Burmistrov in jenkins_ru
Andrey Panov
Вообще проблема, что контейнер крутиться от рута и создает мне в примантированном диске, файлы принадлежащие руту... и это проблема.
добро пожаловать в мир докера
источник

DB

Dmitry Burmistrov in jenkins_ru
чтобы файлы не принадлежали руту, надо их создавать не от рута
источник

AP

Andrey Panov in jenkins_ru
образ который я взял, он весь там от рута работает... а дженкинс пускает его от какого-то другого... в итогде образ не работает как надо.
Тогда я задал чтобы пускал образ от рута, но теперь созданные файлы дженкинс удалить не может :(
источник

AP

Andrey Panov in jenkins_ru
ерунда какая-то. Это образ с Мавеном, уже тысячу раз должно было быть отработано.
источник

AP

Andrey Panov in jenkins_ru
А! Там какой-то -v $HOME/.m2:/root/.m2:z
вот эта z в конце должна вроде все исправлять...
источник

VP

Vadim P. in jenkins_ru
Andrey Panov
Подскажите, вот есть монтирование волюма -v, и там последним параметром можно указать например Z
И я не могу понять из документации, что это значит?
https://docs.docker.com/engine/reference/run/#volume-shared-filesystems
Может кто-нибудь подсказать?
volume content mounted into a container. Without a label, the security system might prevent the processes running inside the container from using the content. By default, Docker does not change the labels set by the OS. To change a label in the container context, you can add either of two suffixes :z or :Z to the volume mount. These suffixes tell Docker to relabel file objects on the shared volumes. The z option tells Docker that two containers share the volume content. As a result, Docker labels the content with a shared content label. Shared volume labels allow all containers to read/write content. The Z option tells Docker to label the content with a private unshared label. Only the current container can use a private volume.
источник

AP

Andrey Panov in jenkins_ru
Спасибо, сейчас попробую вкурить.
источник

AP

Andrey Panov in jenkins_ru
А никто из присутсвующих ява-проекты не собирает в контейнере?
источник

AP

Andrey Panov in jenkins_ru
Ок, решил запустить дженкинс в контейнере. А теперь, если билд чегонибудь я хочу делать в другом контейнере, это мне какой-то докер агент нужен?
источник

PK

Pavel Kozlovskiy in jenkins_ru
Гугли на тему docker in docker
источник

AP

Andrey Panov in jenkins_ru
Т.е. текущий плагин для докера не может вырваться за пределы, и запустить контейнер где-то там?!...
Но тогда похоже это не решит мою проблему с правами... этот параметр "z" непонятно как работает. У создаваемой папки владелец root все-равно.
источник

VP

Vadim P. in jenkins_ru
z параметр и не должен этого решать, в доке что скинул написано же что это для шаринга папок когда несколько контейнеров используют одну
источник

AP

Andrey Panov in jenkins_ru
ну видимо и не решает. Я не пробовал одну и туже папку монтировать в разные контейнеры, но проблема вот в чем.
дженкинс работает под uid 112, а контейнер мавена, создает файлы под рутом...
я запустил дженкинс в контейнере, в надежде одну папку между ними расшарить, но пока не понял, решит это мою проблему или нет.
источник

VP

Vadim P. in jenkins_ru
а плагин умеет делать '--user {uid}'?
источник

AP

Andrey Panov in jenkins_ru
в дженкинсе я могу просто указать -u root, как любой другой аргумент
источник

PK

Pavel Kozlovskiy in jenkins_ru
Andrey Panov
в дженкинсе я могу просто указать -u root, как любой другой аргумент
И что это не помогает?
источник

AP

Andrey Panov in jenkins_ru
контейнер мавена, официальный, работает от рута, и когда что-то другое ему передают, что там кое-чего ломается. А если запускаю от рута, то он создает файлы, которые дженкинс потом удалить не может.

Вопрос. А как в контейнере мавена, который от рута... самым простом способом задать umask? что бы он с 777 задавал.
Или только пересоздавать имидж свой?
источник

VP

Vadim P. in jenkins_ru
мне кажется пересобрать имадж самый самый простой вариант
источник

VP

Vadim P. in jenkins_ru
а еще интересно что там такого делается в контейнере что не от рута не работает
источник

AP

Andrey Panov in jenkins_ru
Вот, если интересно https://github.com/carlossg/docker-maven/issues/63
там когда от другого пользователя пускаешь, $HOME теряется и файлы создаются не там где должны.
источник