Como instalar pacotes do Arch Linux com o yaourt quando chamado com o docker build do Dockerfile?

3

Estou tentando criar meu próprio contêiner jira usando a imagem oficial pritunl / archlinux . Eu já instalei yaourt e cometi isso para rusk85 / archbase. Meu Dockerfile é assim:

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

Isso resulta em erro:

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

Depois tentei adicionar depois da linha 2:

RUN useradd -ms /bin/bash jira
USER jira

Isso, por sua vez, me pede uma senha. Outra variante era usar isso ao invés de USER jira:

RUN su jira

Isso também retorna o primeiro erro. Eu então criei um usuário jira, instalei o sudo, habilitei todos os usuários do grupo wheel a executarem qualquer comando sem senha e adicionei jira ao grupo wheel assim como atribui a senha jira ao usuário jira. Eu cometi essas alterações na minha imagem e tentei novamente com:

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

Isso novamente pede a senha inicial do sudo. Eu procurei por este problema em todas as variantes conhecidas por homens e também olhei para vários Dockerfiles, mas minhas pesquisas voltaram sem nenhum resultado utilizável e todos os Dockerfiles que eu olhei me deixaram completamente confuso. Eu apreciaria um exemplo muito simples de como passar isso. Peço desculpas se esta é uma questão realmente trivial, mas eu comecei com o Docker e o conhecimento que tenho do arco até hoje não parece ser suficiente.

    
por Sven M. 20.02.2017 / 21:47

1 resposta

0

Antes de qualquer coisa, NÃO USE YAOURT .

Então, deixe-me citar a página oficial do Arch makepkg :

Running makepkg itself as root is disallowed. Besides how a PKGBUILD may contain arbitrary commands, building as root is generally considered unsafe. Users who have no access to a regular user account should run makepkg as the nobody user.

Então, de volta ao seu problema, você não deve tentar fazer o que está tentando fazer.

Mas se você ainda quiser:

  • Você pode instalar o yaourt, mas só pode instalar como usuário não raiz .

ou

  • Você pode tentar (por sua conta e risco) Allan McRae Solução que é considerada como uma boa explicação para a substituição do antigo comando makepkg --asroot .
por 05.11.2017 / 02:04