在Docker容器中的Tomcat上运行ADF Essentials

益绯辞
2023-12-01

我经常开发示例应用程序。 我尝试了一些想法,运用了一些技巧,并通过示例应用程序与同事和博客读者分享了我的调查结果。 当某人想要了解该技术的实现方式时,他们只需查看源代码,就足以理解这个想法。 但是,如果他们想了解它的实际工作方式并使用它,则需要找到正确的JDeveloper版本,启动它,运行示例应用程序,并可能会用铃鼓跳舞以使其正常工作。 太复杂而不有趣。 有趣的是拥有一个轻量级的Docker容器,其中包含已部署的示例应用程序,每个人都可以轻松地在其Docker环境中运行。 在这篇文章中,我将展示如何创建一个预配置的docker-image-template,该模板将用于使用已部署的示例应用程序创建映像。

由于关键是拥有一个轻量级的容器,并且由于我的示例ADF应用程序很少超出Essentials功能,因此我决定在此之上创建一个运行Tomcat和ADF Essentials的Docker容器。

因此,让我们开始:

1.从Docker Hub拉并运行Tomcat映像:

docker run -it -p 8888:8080 --name adftomcat tomcat:8.0

完成此操作后,您将可以在http:// localhost:8888上观察正在运行的Tomcat。

2.在容器中安装最新的Java:

在单独的终端窗口中,深入容器:

docker exec -it adftomcat bash

并安装Java:

apt-get update
apt-get install software-properties-common
add-apt-repository "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main"
apt-get update
apt-get install oracle-java8-installer

3.从Oracle网站下载ADF Essentials(包括客户端)

这将为您提供档案:adf-essentials.zip和adf-essentials-client-ear.zip。 将它们复制到容器中:

docker cp ~/Downloads/adf-essentials.zip adftomcat:/usr/local/tomcat/lib
docker cp ~/Downloads/adf-essentials-client-ear.zip adftomcat:/usr/local/tomcat/lib

转到容器( docker exec -it adftomcat bash )并使用-j选项解压缩它们:

unzip -j/usr/local/tomcat/lib/adf-essentials.zip
unzip -j/usr/local/tomcat/lib/adf-essentials-client-ear.zip

4.从以下位置下载javax.mail-api-1.4.6.jar
在这里并将其复制到容器中:

docker cp ~/Downloads/javax.mail-api-1.4.6.jar adftomcat:/usr/local/tomcat/lib

5.在容器中安装nano文本编辑器:

apt-get install nano

6.在容器中的/usr/local/tomcat/bin文件夹中创建setenv.sh文件:

nano /usr/local/tomcat/bin/setenv.sh

具有以下内容:

JAVA_HOME=/usr/lib/jvm/java-8-oracle

CATALINA_OPTS='-Doracle.mds.cache=simple -Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK=true'

7.在容器中更新/usr/local/tomcat/conf/context.xml文件:

nano /usr/local/tomcat/conf/context.xml

并在<Context>部分中添加以下行

<JarScanner scanManifest="false"/>

8.基本上,这足以将ADF应用程序部署到容器。 我从这个预配置的容器中创建了一个映像,以供将来用作模板。

docker commit adftomcat efedorenko/adftomcat

9.开发一个“与Tomcat兼容”的示例ADF应用程序(请参阅Chandresh的博客,其中描述了如何创建适用于Tomcat的ADF应用程序)。 将其部署到战争中并将战争复制到容器中:

docker cp tcatapp.war adftomcat:/usr/local/tomcat/webapps

10.重新启动容器

docker stop adftomcat
docker start -I adftomcat

11.在此处检查应用程序可用性http:// localhost:8888 / MY_CONTEXT_ROOT / faces / main.jsf

12.现在,我们可以从该容器中创建映像,在docker cloud中运行它,或仅与您的同事共享它,以便他们可以在他们喜欢的任何地方运行它。

而已!

翻译自: https://www.javacodegeeks.com/2018/01/running-adf-essentials-tomcat-docker-container.html

 类似资料: