我尝试将我的网络应用程序部署在docker容器上的glassfish上。 当我访问管理控制台([IP]:4848)时,我可以访问登录页面,但是出现此错误消息,我无法登录:
必须启用Secure Admin才能远程访问DAS。
所以我在其他帖子上发现我需要在bin文件夹中添加这些行:
./asadmin start-domain
./asadmin change-admin-password
./asadmin enable-secure-admin
./asadmin stop-domain
./asadmin start-domain
但是我不能这样做,因为我的玻璃鱼实例是在一个容器上。
有关信息,我运行glassfish:
sudo docker run -p 4848:4848 -p 8080:8080 -e GLASSFISH_PASS="password" -d glassfish
答案 0 :(得分:4)
有几种方法可以做到这一点,但最好的方法可能是复制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
命令一起使用,第二个文件必须与所有将来的命令一起使用。
在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
答案 1 :(得分:1)
[〜]#asadmin --port#您的管理端口#enable-secure-admin