首页 > 解决方案 > Docker以非交互方式设置用户密码

问题描述

我想vault在 Dockerfile 中设置我的用户密码,我已经尝试过

RUN echo -e "pass\npass" | passwd "${USER}" 

但得到

Enter new UNIX password: Retype new UNIX password: Sorry, passwords do not match
passwd: Authentication token manipulation error
passwd: password unchanged
The command '/bin/sh -c echo -e "pass\npass" | passwd "${USER}"' returned a non-zero code: 10

并且想知道是否有更好的方法来做到这一点?

标签: dockerauthenticationdockerfilepasswd

解决方案


除了使用 之外passwd,还有另一个实用程序:chpasswd。我已经通过在我的 Dockerfile 中使用以下命令解决了这个问题(在创建用户之后):

RUN echo "${USER}:pass" | chpasswd

奇迹般有效!


推荐阅读