You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Payara 6社区版修改主密码失败,默认密码changeit验证不通过

解决Payara 6最新版Docker构建中主密码修改失败的问题

问题核心原因

最新Payara 6社区版(2024年及以后版本)已调整默认主密码生成逻辑,不再使用固定的changeit,而是在域初始化时生成随机密码并写入domain.xml,官方文档未及时更新导致了这个矛盾。

解决方案

1. 提取当前默认主密码

在Docker构建流程中,先从域配置文件里提取自动生成的默认主密码:

# 从domain.xml中提取默认主密码
RUN grep -oP 'AS_ADMIN_MASTERPASSWORD="\K[^"]+' ${PAYARA_HOME}/glassfish/domains/${DOMAIN_NAME}/config/domain.xml > /tmp/default_master_pass

2. 修正密码修改脚本

更新你的密码配置命令,用提取到的真实默认主密码替换原有的changeit:

RUN DEFAULT_MASTER_PASS=$(cat /tmp/default_master_pass) && \
    echo "AS_ADMIN_NEWPASSWORD=${ADMIN_PASSWORD}" >> /tmp/tmpFile &&\
    echo "AS_ADMIN_MASTERPASSWORD=${DEFAULT_MASTER_PASS}" >> /tmp/tmpFile &&\
    echo "AS_ADMIN_NEWMASTERPASSWORD=master" >> /tmp/tmpFile &&\
    echo "AS_ADMIN_PASSWORD=" >> /tmp/tmpFile && \
    asadmin --user=${ADMIN_USER} --passwordfile=/tmp/tmpFile change-master-password && \
    asadmin --user=${ADMIN_USER} --passwordfile=/tmp/tmpFile change-admin-password --domain_name=${DOMAIN_NAME}

3. 简化方案(推荐)

如果使用Payara官方基础镜像,可直接通过环境变量MASTER_PASSWORD在构建时指定主密码,无需手动执行change-master-password命令:

ENV MASTER_PASSWORD=master
ENV ADMIN_PASSWORD=your_admin_pass

验证方法

构建完成后启动容器,执行以下命令验证密码修改是否成功:

asadmin list-domains

若能正常列出域且无密码错误提示,说明配置生效。

内容的提问来源于stack exchange,提问作者Confused Merlin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 23:34:57