공식 pritunl / archlinux 이미지를 사용하여 자체 jira 컨테이너를 빌드하려고합니다 . 이미 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 비밀번호를 요청합니다. 나는 남성에게 알려진 모든 변종 에서이 문제를 검색하고 여러 Dockerfile을 보았지만 사용 가능한 결과없이 검색 결과가 다시 나타 났으며 내가 본 모든 Dockerfile은 completley를 혼란스럽게했습니다. 나는 이것을 통과시키는 방법에 대한 정말 간단한 예를 고맙게 생각합니다. 이것이 정말 사소한 문제인지 사과하지만 방금 Docker로 시작했으며 지금까지 아치에 대한 지식이 그다지 잘 보이지 않는 것 같습니다.
pritunl/archlinux
. 내 게시물에서 수정했습니다. 예, 심지어 (부분적으로 afaik) yaourt
에 따라 설정했습니다 base/devel
. 어떤 식 으로든 루트가 필요한 base/devel
패키지를 설치할 수 없다는 딜레마와 어떤 관련이 Dockerfile
있습니까? Btw 나는 미니 루트 파일 시스템 버전을 사용하여 alpine linux로 내 자신의 기본 이미지를 만들었습니다. 작동하는 자체 nginx 리버스 프록시를 빌드하십시오. goo.gl/qCu7py 및 goo.gl/xoM5vJ를 참조하십시오 . 그래도 대답이 필요합니다.
yaourt
컨테이너를 시작할 때마다 새로운 패키지를 만들 것이라고 생각합니다 . RUN pacman -S base-devel
이미지에 해당 패키지가 포함되어 있지 않은 경우 먼저 (또는 이와 유사한) 필요할 수 있습니다 . 표시되는 makepkg
오류 fakeroot
는 필요한 표시 일 수 있으며 이는 기본 개발 패키지에 포함되어 있습니다. yaourt
설치하는 데 기본 devel 패키지에 의존하지 않는 것이므로 다른 패키지를 가지고 있다는 의미는 아닙니다.
base-devel
패키지 그룹 을 설치 했습니까?