2016-10-04 101 views

回答

18

使用useradd而不是它的互动adduser添加用户。

RUN useradd -ms /bin/bash vault 

下面的命令不会创建用户。

USER vault 
WORKDIR /usr/local/bin/vault 

它将使用vault用户

请参阅Dockerfile User Documentation

用户指令设置的用户名或UID运行 图像时使用,并且对任何运行,CMD和入口点指示在Dockerfile中跟着它 。

注:确保bash是默认的shell。

如果默认的shell是/bin/sh你可以这样做:

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

显示您Dockerfile,而行'FROM' – user2915097

+1

'高寒:3.4 RUN APK更新&& APK添加卷曲解压 执行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 运行unzip vault.zip -d/usr/local/bin && rm vault.zip' – Atlantic0

+0

尝试回答我的最后部分 –