回答Stackoverflow问题可以为我发现我最喜欢的开源工具的正式文档中的空白提供很好的反馈。 我在这里回答的问题之一是如何在docker容器中更改Payara Server主密码 。 显然,在标准服务器安装中,这很简单–只需使用asadmin change-master-password命令,然后在控制台中输入旧密码和新密码即可。 但是不在docker中,必须通过脚本自动进行配置。 这同样适用于所有基础架构即代码解决方案,例如Chef或Puppet。 因此,我不得不更深入地研究文档并进行一些实验。
从文件中指定密码
在脚本中使用密码的关键是在文件中提供密码。 每个asadmin命令都接受参数–passwordfile,以指示它从中读取所有必需的密码,从而避免以交互方式询问密码。 但是在此密码文件中查找如何定义密码有点棘手,因为它用于多种类型的密码。 适用于GlassFish v3的Oracle文档,该文档也适用于GlassFish v4和v5以及Payara v4和5,其中记录了4种类型的密码 。 可以在密码文件中使用带有AS_ADMIN_前缀的变量来指定每种密码。
- 带有前缀AS_ADMIN_PASSWORD的管理员密码,默认为空密码
- 前缀为AS_ADMIN_MASTERPASSWORD的