docker - 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
并且想知道是否有更好的方法来做到这一点?
解决方案
除了使用 之外passwd
,还有另一个实用程序:chpasswd
。我已经通过在我的 Dockerfile 中使用以下命令解决了这个问题(在创建用户之后):
RUN echo "${USER}:pass" | chpasswd
奇迹般有效!
推荐阅读
- javascript - Ajax 加载的部分视图 - 修改文档时处理 html 元素
- modal-dialog - 如何在 alpine js 中调用 ajax 后显示和隐藏模式
- wordpress - WordPress联系表格序列号生成器
- reactjs - React Native Flatlist 错误没有重载匹配此调用
- php - Ubuntu 20.04 中 MSSQL 的 PHP 驱动程序
- react-hooks - 无法在 React 文本字段中看到键入的数据
- docker - docker容器中的网络不一致
- mocha.js - 使用 mocha 安装时出错 npm 测试。我正在使用 VS 代码
- reactjs - 加载规则“更漂亮/更漂亮”时出错:context.getPhysicalFilename 不是函数
- hash - 表达式文字的哈希函数