如何使用 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 Documentation



注意: 确保 bash 是默认 shell。

如果默认 shell 是 /bin/sh,你可以这样做:
RUN ln -sf /bin/bash /bin/sh
RUN useradd -ms /bin/bash  vault

关于docker - 如何使用dockerfile添加用户?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39855304/

10-16 16:34