[英]Changing Tomcat config - context.xml through dockerfile
我在 Intellij 中開發了一個 web 應用程序(maven,tomcat),並設法通過 Intellij 中的“服務”選項卡創建了一個容器,這要歸功於簡單的部署配置。 在此過程中,我遇到緩存大小不夠,所以我手動在本地更改了 tomcat 的context.xml (添加<Resources cacheMaxSize="51200" />
) 文件,之后應用程序運行順利。
總結 Intellij 中服務選項卡下的容器創建(參見圖像底部):
- pulling an image: tomcat:9.0.65-jre8
- container name
- bind ports: 127.0.0.1:8080:8080
- bind mounts: mount host path which contains the war WITH /usr/local/tomcat/webapps
雖然不確定,但我猜我創建的 war 文件已經考慮了我在context.xml文件中所做的更改,因為我的應用程序服務器是 tomcat 我下載並對其進行了更改。
但是,我還需要創建一個帶有 dockerfile 的容器:
我的 dockerfile 是:
FROM maven:3.8.4-jdk-8 as maven_builder
COPY . /usr/src/maven_pdfparse
WORKDIR /usr/src/maven_pdfparse
RUN mvn clean install -f /usr/src/maven_pdfparse && mkdir /usr/src/wars/
RUN find /usr/src/maven_pdfparse/ -iname '*.war' -exec cp {} /usr/src/wars/ \;
ADD pom.xml .
FROM tomcat:9.0.65-jre8
COPY --from=maven_builder /usr/src/wars/* /usr/local/tomcat/webapps
當我在 docker 上運行此程序時,我再次遇到“緩存不足”問題。
那么如何在創建 dockerfile 時對 context.xml 進行相同的更改?
或者有沒有辦法在我通過部署配置創建容器時自動獲取 dockerfile?
如果您希望添加或修改context.xml
文件,您有幾個選項可供選擇。
context.xml
文件。 使用sed
等命令行工具添加RUN
命令,將所需的<Resources>
元素添加到文件中。context.xml
的自定義啟動命令(例如,按照選項 1 使用sed
)。 使用這種機制,您還可以從環境變量中獲取要使用的cacheMaxSize
值,從而允許對值進行運行時控制。請檢查這個答案
Tomcat 8 拋出 - org.apache.catalina.webresources.Cache.getResource 無法添加資源
您需要在哪里更新context.xml
並通過復制context.xml
重建您的圖像
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.