更改Payara / Glassfish服务器上的主密码

时间:2017-11-21 10:39:26

标签: ssl glassfish keystore change-password payara

背景:我需要更改payara-server主密码。根据文档,主密码必须与密钥库中的密码匹配。 truststore以使SSL证书正常工作。使我的网站运行https而不是http。

我在Docker Container through the guide中运行了Payara-Server:

我尝试更改payaradomain主密码,但是我收到了非循环错误。 1.确保payara域名不运行。

- ./asadmin stop-domain --force=true payaradomain

当我运行此命令时,而domain1被杀死。 &安培;然后踢出了docker容器:

./asadmin stop-domain --kill=true payaradomain

执行此命令时:

./asadmin list-domains

响应:

domain1 running
payaradomain not running
Command list-domains executed successfully.

然后尝试了命令:

./asadmin stop-domain --force=true payaradomain

响应:

 CLI306: Warning - The server located at /opt/payara41/glassfish/domains/payaradomain is not running.

我很满意,但是当我尝试时:

./asadmin change-master-password payaradomain

我收到了这个回复:

Domain payaradomain at /opt/payara41/glassfish/domains/payaradomain is running. Stop it first.

我附上了以下图片:请帮忙......

payaradomain is running. Stop it first.

3 个答案:

答案 0 :(得分:2)

如果要在docker中配置Payara服务器,包括主密码,则应通过扩展默认的Payara泊坞窗图像来创建自己的docker镜像。这是最简单的Dockerfile:

FROM payara/server-full

# specify a new master password "newpassword" instead of the default password "changeit"
RUN echo 'AS_ADMIN_MASTERPASSWORD=changeit\nAS_ADMIN_NEWMASTERPASSWORD=newpassword' >> /opt/masterpwdfile

# execute asadmin command to apply the new master password
RUN ${PAYARA_PATH}/bin/asadmin change-master-password --passwordfile=/opt/masterpwdfile payaradomain

然后,您可以使用以下内容构建自定义泊坞窗图像:

docker build -t my-payara/server-full .

然后运行my-payara/server-full而不是payara/server-full

另请注意,使用默认的Payara泊坞窗图像时,应指定PAYARA_DOMAIN变量以运行payaradomain而不是domain1,例如:

docker run --env PAYARA_DOMAIN=payaradomain payara/server-full

上面的示例Dockerfile重新定义了这个变量,因此默认情况下使用payaradomain,而不需要在运行容器时指定它。

更改主密码的其他方法

您可以在不运行Payara Server的情况下运行docker镜像。相反,您可以先运行bash shell,在控制台中执行必要的命令,然后从shell运行服务器。

为此,您可以使用以下命令运行docker镜像:

docker run -t -i --entrypoint /bin/bash payara/server-full

这种方法的缺点是docker容器在前台运行,如果你重新启动它,那么payara服务器必须再次手动启动,所以它实际上仅用于测试目的。

答案 1 :(得分:2)

您收到payaradomain正在运行的消息的原因是您已启动domain1payaradomaindomain1使用相同的端口和检查以查看域是否正在运行,以查看是否正在使用给定域的管理端口。

要更改主密码,您必须让两个域都停止或更改payaradomain的管理端口。

答案 2 :(得分:1)

与其在dockerfile中回显密码,不如在构建期间复制包含密码的文件并在构建完成后将其删除,这样更安全。