3

Я пытаюсь создать свой собственный jira-контейнер, используя официальный образ pritunl/archlinux . Я уже установил yaourt и передал это rusk85/archbase. Мой Dockerfile выглядит так:

1: FROM rusk85/archbase
2: CMD /bin/bash
3: RUN yaourt -Sy --noconfirm atlassian-jira

Это приводит к ошибке:

Running makepkg as root is not allowed as it can cause permanent, catastrophic damage to your system.

Затем я попытался добавить после строки 2:

RUN useradd -ms /bin/bash jira
USER jira

Это, в свою очередь, просит у меня пароль. Другой вариант состоял в том, чтобы использовать это вместо USER jira:

RUN su jira

Это также возвращает первую ошибку. Затем я создал пользователя jira, установил sudo, позволил всем пользователям группового колеса выполнять любую команду без пароля и добавил jira к групповому колесу, а также назначил пароль jira пользователю jira. Я зафиксировал эти изменения в своем изображении и повторил попытку:

FROM rusk85/archbase
CMD /bin/bash
USER jira # fixed: was docker before
RUN yaourt -Sy --noconfirm atlassian-jira

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

1 ответ1

0

Прежде всего, НЕ ИСПОЛЬЗУЙТЕ YAOURT.

Затем позвольте мне процитировать официальную вики-страницу Arch makepkg :

Сам makepkg от имени root запрещен. Помимо того, что PKGBUILD может содержать произвольные команды, сборка с правами root обычно считается небезопасной. Пользователи, которые не имеют доступа к обычной учетной записи пользователя, должны запускать makepkg как пользователь nobody.

Итак, вернемся к вашей проблеме, вы не должны пытаться делать то, что пытаетесь сделать.

Но если вы все еще хотите:

  • Вы можете установить yaourt, но можете установить его только как пользователь без полномочий root .

или же

  • Вы можете попробовать (на свой страх и риск) решение Allan McRae , которое считается хорошим объяснением замены старой команды makepkg --asroot .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .