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