将JEE应用程序从Netbeans部署到Payara Docker映像

0g0grzrc  于 2022-11-10  发布在  Docker
关注(0)|答案(1)|浏览(164)

我目前正在本地计算机上运行传统的开发安装程序:
数据库:mariadb
应用程序服务器:payara
ide:网络Bean
以及一些节点停靠容器。
我使用NetBeans中的Payara插件来控制Payara,并将我的JEE aps直接部署到应用服务器。
但是我想在Docker容器中运行Payara和Mariadb。我已经创建了我的Docker图像,我可以启动DB以及Payara应用服务器,没有任何问题。它工作正常。
我可以在payara中手动部署我的war文件并运行相应的web应用程序。这里没有问题。我可以从dockerized应用服务器ping数据库。
但是这个过程的最后一步对我来说是不可能掌握的,我如何直接从NetBeans将Web应用程序部署到我的Payara Docker容器中。
我找不到任何相关的文档。当我向NetBeans添加服务器时,我可以选择payara服务器并选择远程域。我有机会单击“Docker卷”,但我不知道在“主机路径”和“容器路径”中输入什么。
是否有可能控制在一个docker容器中运行的Payara,就像在一个普通的应用服务器中运行Payara一样?

up9lanfz

up9lanfz1#

在Payara容器运行时,必须有一个部署文件夹,war文件将复制到该文件夹中。
对于集装箱化的Payara,您可以通过两种方式实现:

在容器生成时备份应用程序

构建你的war文件。把它放在一个Dockerfile旁边。在Dockerfile中有一些像这样的行

ADD warfilename.war /payara/deployments

执行一个docker build,容器将内置应用程序。我假设你的warfile的名称是'warfilename.war',并且需要在/payara/deployments文件夹中的容器内可见。

在容器运行时装入托管应用程序的目录

假设您有一个普通的Payara容器,没有应用程序。

docker run --name payara -v warfilenamedirectory:/payara/deployments payara:latest

我假设您的warfile包含在warfilenamedirectory目录中,并且需要在/payara/deployments的容器中可见。

相关问题