我正在嘗試將.war,.aar,.xml和.properties文件部署到tomcat docker容器。我在Dockerfile下面使用了基礎tomcat docker鏡像。在tomcat docker容器中部署Java應用程序
FROM tomcat:7
RUN rm -rf /usr/local/tomcat/webapps/ROOT
COPY test-3.0.war /usr/local/tomcat/webapps/ROOT.war
COPY testone-3.0.aar /usr/local/tomcat/webapps/axis2/WEB-INF/services/
COPY ./conf/context.xml /usr/local/tomcat/conf/
COPY ./conf/server.xml /usr/local/tomcat/conf/
CMD ["catalina.sh", "run"]
一切按預期工作到現在爲止。它提取戰爭文件並啓動容器內的應用程序。
但是現在我需要添加/編輯「/ usr/local/tomcat/webapps/ROOT/WEB-INF/classes /」和「/ usr/local/tomcat/webapps/ROOT/js「喜歡這個。
COPY ./conf/applicationurl.properties /usr/local/tomcat/webapps/ROOT/WEBINF/classes/
COPY ./conf/memcache.properties /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/
COPY ./conf/um.properties /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/
COPY ./conf/pe.properties /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/
COPY ./conf/check.js /usr/local/tomcat/webapps/ROOT/js
將這些文件複製到正在運行的tomcat容器中的最佳方法是什麼?我試圖用上面的Dockerfile作爲基礎鏡像構建一個更多的Docker鏡像,並將上述文件複製到容器內的目標文件夾中,但它會刪除所有提取的war文件夾/文件,並且它只複製/ usr/local/tomcat中的文件/ webapps目錄。
我只需要添加一些屬性文件,它不應該刪除webapps目錄內現有的解壓縮文件夾。
有人可以幫我解決這個問題嗎?
更編程方法是來準備你的java應用程序,所以你可以用-D標誌或類似的東西指向配置所在的位置。然後,您可以在複製war文件後將-D標誌附加到CATALINA_OPTS變量 –
另一種方法是在啓動服務器之前將屬性構建到jar中並將其部署到tomcat/lib。 –
感謝您的建議。但我需要通過在docker中使用上述場景來完成此操作。 – Nanab4u