在应用服务器容器内部署 Java Web 应用程序
您可以使用 Docker 来运行应用服务器(Tomcat、Wildfly 等),并在其中部署您的 Java Web 应用程序。 本教程描述了如何创建一个简单的 Java Web 应用程序,构建一个可部署的 Web 应用程序资源(WAR)文件,然后将其部署到作为 Docker 容器运行的应用程序服务器中。
创建 Java 网页应用程序
在主菜单中,前往 。
在 新建项目 对话框中,选择 Jakarta EE 并执行以下操作:
为您的项目输入名称:
DockerJavaWebApp选择 Web 应用程序 模板
为项目选择一个最近的 JDK(OpenJDK 17 是一个不错的选择)

点击 下一个 继续。
在向导的下一步中,选择 Jakarta EE 9Web Profile 规范。

点击 创建(C)。
IntelliJ IDEA 生成一个默认项目,其中包含一个 Java Web 应用程序,该应用程序具有 index.jsp 主页以及 HelloServlet.java 类以响应 /hello-servlet 处的请求。
生成 WAR 构件
在 IntelliJ IDEA 创建新项目后,构建一个 WAR 工件以部署到应用服务器。
在主菜单中,前往 。
在 构建工件 对话框中,选择构建 DockerJavaWebApp:war 构件。
您应当看到 artifact target/DockerJavaWebApp-1.0-SNAPSHOT.war 。

拉取应用程序服务器 Docker 镜像
打开 服務 工具窗口: 或 Alt+8。
在 服务 工具窗口中,选择 镜像 节点,然后指定拉取 Tomcat、 Wildfly服务器镜像:
tomcatjboss/wildfly。 点击 拉取 或按 Ctrl+Enter。
您应当在 服务 工具窗口中的图像列表里看到 tomcat:latestjboss/wildfly:latest 图像。
在 Docker 容器应用服务器上运行并部署您的应用程序
在 服务 工具窗口中,右键点击
tomcat:latestjboss/wildfly:latest图像,然后点击 创建容器。在 创建Docker 配置 对话框中,执行以下操作:
请指定配置的名称:
TomcatConfigWildflyConfig指定容器的名称:
TomcatContainerWildflyContainer将容器端口 8080 绑定到主机 IP 127.0.0.1 和端口 8080
将 WAR 工件输出目录 [PROJECT_PATH]/target 映射到 Tomcat Wildfly服务器部署目录: /usr/local/tomcat/webapps /opt/jboss/wildfly/standalone/deployments 。


点击 运行 以启动容器。
当容器启动时,请在您的网络浏览器中打开以下地址: http://127.0.0.1:8080/DockerJavaWebApp-1.0-SNAPSHOT/
您应该看到以下页面:
