web-dev-qa-db-fra.com

Comment ajouter un utilisateur avec dockerfile?

Comment puis-je ajouter un utilisateur avec Dockerfile - ce qui suit ne fonctionne pas.

USER vault
WORKDIR /usr/local/bin/vault

Mon fichier Docker complet:

FROM Alpine:3.4
RUN apk update && apk add curl unzip
RUN useradd -ms /bin/bash vault

USER vault
WORKDIR /usr/local/bin/vault
ADD /vault.hcl /etc/vault/vault.hcl

RUN curl -SL https://releases.hashicorp.com/vault/0.5.0/vault_0.5.0_linux_AMD64.Zip > vault.Zip
RUN unzip vault.Zip -d /usr/local/bin && rm vault.Zip
31
Atlantic0

Utilisez useradd au lieu de son interactif adduser pour ajouter un utilisateur.

RUN useradd -ms /bin/bash  vault

La commande ci-dessous ne créera pas d'utilisateur.

USER vault
WORKDIR /usr/local/bin/vault

il utilisera vault utilisateur

veuillez vous référer à documentation utilisateur Dockerfile

L'instruction USER définit le nom d'utilisateur ou l'UID à utiliser lors de l'exécution de l'image et pour toute instruction RUN, CMD et ENTRYPOINT qui la suit dans le fichier Docker.

REMARQUE: Garantit que bash est le shell par défaut.

Si Shell par défaut est /bin/sh vous pouvez faire comme:

RUN ln -sf /bin/bash /bin/sh
RUN useradd -ms /bin/bash  vault
40
pl_rock

Pour ajouter un groupe et associer un nouvel utilisateur, utilisez le code ci-dessous.

FROM <base image>
RUN groupadd -g 2000 go \
&& useradd -m -u 2001 -g go go
USER go
2
Renato Coutinho