问题描述
我想在 Dockerfile 中设置我的用户 vault
的密码并且我已经尝试过
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
我想知道是否有更好的方法来做到这一点?
解决方法
除了使用 passwd
,还有另一个实用程序:chpasswd
。我已经通过在我的 Dockerfile 中使用以下命令解决了这个问题(在创建用户之后):
RUN echo "${USER}:pass" | chpasswd
很有魅力!