在Docker容器中的Tomcat上运行ADF Essentials
我經常開發示例應用程序。 我嘗試了一些想法,運用了一些技巧,并通過示例應用程序與同事和博客讀者分享了我的調查結果。 當某人想要了解該技術的實現方式時,他們只需查看源代碼,就足以理解這個想法。 但是,如果他們想了解它的實際工作方式并使用它,則需要找到正確的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-installer3.從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
在這里并將其復制到容器中:
5.在容器中安裝nano文本編輯器:
apt-get install nano6.在容器中的/usr/local/tomcat/bin文件夾中創建setenv.sh文件:
nano /usr/local/tomcat/bin/setenv.sh具有以下內容:
JAVA_HOME=/usr/lib/jvm/java-8-oracleCATALINA_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/adftomcat9.開發一個“與Tomcat兼容”的示例ADF應用程序(請參閱Chandresh的博客,其中描述了如何創建適用于Tomcat的ADF應用程序)。 將其部署到戰爭中并將戰爭復制到容器中:
docker cp tcatapp.war adftomcat:/usr/local/tomcat/webapps10.重新啟動容器
docker stop adftomcat docker start -I adftomcat11.在此處檢查應用程序的可用性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
總結
以上是生活随笔為你收集整理的在Docker容器中的Tomcat上运行ADF Essentials的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java erlang_Java开发人员
- 下一篇: rest和rest ful_为什么RES