gpt4 book ai didi

docker - 必须启用安全管理员才能远程访问 DAS - 使用 Docker 访问 Glassfish 管理控制台

转载 作者:行者123 更新时间:2023-12-04 19:32:41 24 4
gpt4 key购买 nike

我尝试在 docker 容器上的 glassfish 上部署我的 Web 应用程序。
当我访问管理控制台 ( [IP]:4848 ) 时,我可以访问登录页面,但出现此错误消息并且我无法登录:

Secure Admin must be enabled to access the DAS remotely.



所以我在其他帖子中发现我需要在 bin 文件夹中添加这些行:
./asadmin start-domain
./asadmin change-admin-password
./asadmin enable-secure-admin
./asadmin stop-domain
./asadmin start-domain

但我不能这样做,因为我的 glassfish 实例在一个容器上。

有关信息,我使用以下命令运行 glassfish:
sudo docker run -p 4848:4848 -p 8080:8080 -e GLASSFISH_PASS="password" -d glassfish

最佳答案

有几种方法可以做到这一点,但最好的方法可能是复制 the method used in the Payara Server dockerfile . (Payara Server 源自 GlassFish,因此 dockerfile 也与 GlassFish 兼容)

总而言之,此方法创建了 2 个文件:一个 tmpfile其中包含默认(空)密码和所需的新密码,以及 pwdfile其中仅包含新更改的文件。

tmpfile的内容是:

AS_ADMIN_PASSWORD=
AS_ADMIN_NEWPASSWORD=MyNewPassword

然后是 pwdfile的内容应该:
AS_ADMIN_PASSWORD=MyNewPassword

要使用 asadmin 更改密码,第一个文件必须与 change-admin-password 一起使用。命令,第二个是所有 future 的命令。

在 docker 术语中,这看起来像这样(直接取自上面链接的 dockerfile):
ENV PAYARA_PATH /opt/payara41
ENV ADMIN_USER admin
ENV ADMIN_PASSWORD admin

# set credentials to admin/admin

RUN echo 'AS_ADMIN_PASSWORD=\n\
AS_ADMIN_NEWPASSWORD='$ADMIN_PASSWORD'\n\
EOF\n'\
>> /opt/tmpfile

RUN echo 'AS_ADMIN_PASSWORD='$ADMIN_PASSWORD'\n\
EOF\n'\
>> /opt/pwdfile

RUN \
$PAYARA_PATH/bin/asadmin start-domain && \
$PAYARA_PATH/bin/asadmin --user $ADMIN_USER --passwordfile=/opt/tmpfile change-admin-password && \
$PAYARA_PATH/bin/asadmin --user $ADMIN_USER --passwordfile=/opt/pwdfile enable-secure-admin && \
$PAYARA_PATH/bin/asadmin restart-domain

# cleanup
RUN rm /opt/tmpfile

关于docker - 必须启用安全管理员才能远程访问 DAS - 使用 Docker 访问 Glassfish 管理控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42773521/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com