3.4. 在 OpenShift 上部署第三方应用程序
您可以使用编译的 WAR 文件或 EAR 归档为 OpenShift 部署创建应用程序镜像。使用 Dockerfile 将这些存档部署到 JBoss EAP 服务器上,以及包括操作系统、Java 和 JBoss EAP 组件的更新和全面的运行时堆栈。
注意
红帽不提供预构建的 JBoss EAP 服务器镜像。
3.4.1. 使用默认配置置备 JBoss EAP 服务器 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
您可以使用构建器镜像在 OpenShift 上安装和配置 JBoss EAP 服务器。对于无缝部署,请按照流程置备服务器、传输应用程序文件,并进行必要的自定义。
先决条件
您可以访问受支持的 Red Hat JBoss Enterprise Application Platform 容器镜像。例如:
-
registry.redhat.io/jboss-eap-8/eap8-openjdk17-builder-openshift-rhel8 -
registry.redhat.io/jboss-eap-8/eap8-openjdk17-runtime-openshift-rhel8
-
- 在您的系统上已安装了 podman。使用受支持的 RHEL 上可用的最新 podman 版本。如需更多信息,请参阅 Red Hat JBoss Enterprise Application Platform 8.0 支持的配置。
流程
复制提供的以下 Dockerfile 内容:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 您可以指定
MAVEN_MIRROR_URL环境变量,这些变量供镜像内部的 JBoss EAP Maven 插件使用。如需更多信息,请参阅 Artifact repository mirrors。 - 2
- 您不需要为任何次发行版本更新此 Dockerfile。如果要使用特定版本,请在
GALLEON_PROVISION_CHANNELS环境变量中指定 JBoss EAP 版本。如需更多信息,请参阅 环境变量。 - 3
- 修改复制的 Dockerfile,将 WAR 文件包含在容器中。例如:
COPY --chown=jboss:root <my-app.war> $JBOSS_HOME/standalone/deployments
COPY --chown=jboss:root <my-app.war> $JBOSS_HOME/standalone/deploymentsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将 <myapp.war> 替换为您要添加到镜像的 Web 存档的路径。
使用 podman 构建应用程序镜像:
podman build -t my-app .
$ podman build -t my-app .Copy to Clipboard Copied! Toggle word wrap Toggle overflow 执行该命令后,
my-app容器镜像已准备好在 OpenShift 上部署。将容器镜像上传到以下选项之一:
- 可以从 OpenShift 访问的内部注册表。
- OpenShift registry 通过直接从构建的机器中推送镜像。如需更多信息,请参阅 RHOCP 4 中的如何将容器镜像推送到镜像 registry 中。
- 从 registry 部署镜像时,请使用 Helm chart、Operator 或 Deployment 等部署策略。选择您首选的方法,并根据要求使用完整镜像 URL 或 ImageStreams。如需更多信息,请参阅使用 Helm chart 在 OpenShift 中构建和部署 JBoss EAP 应用程序。