1. ホーム
  2. docker

[解決済み] dockerfileでユーザーを追加するには?

2022-03-14 07:35:18

質問

Dockerfileでユーザーを追加するにはどうしたらよいですか。

USER vault
WORKDIR /usr/local/bin/vault

私の完全なDockerfile。

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

解決方法は?

使用方法 useradd の代わりに、対話型の adduser を使用してユーザーを追加します。

RUN useradd -ms /bin/bash  vault

以下のコマンドは、ユーザーを作成しません。

USER vault
WORKDIR /usr/local/bin/vault

を使用します。 vault ユーザー

参照 Dockerfile ユーザードキュメント

<ブロッククオート

USER 命令は、実行時に使用するユーザー名または UID を設定します。 イメージと、それに続くRUN、CMD、ENTRYPOINTの各命令で使用されます。 をDockerfileに記述します。

注意事項 : を確保する。 bash がデフォルトのシェルになります。

デフォルトのシェルが /bin/sh のようにすればよい。

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