我有一個docker容器 - Tomcat應用程序(war文件),它的靜態內容包含在war文件中。但是爲了開發目的,我想將靜態內容移出war文件並將其映射到文件系統上的文件夾。這樣做的原因很簡單。例如,我不希望每次改變javascript文件時重新部署。我想在瀏覽器中重新加載頁面,並將所做的更改提取出來。 Tomcat的版本是8如何在Tomcat上以root身份部署戰爭之外的靜態內容8
最常見的解決了這個問題(如果你google一下)是改變server.xml文件和類似的片段添加到此之一:
<Context docBase="/my/static/content/folder" path="/some/context" />
不過,我想將靜態內容映射到我的應用程序的根文件夾。說我的戰爭文件名是myapp.war。它被部署在「/ myapp」下。問題是,如果我想添加靜態內容從根開始,然後我的上下文片段看起來是這樣的:
<Context docBase="/my/static/content/folder" path="/myapp" />
這是不正確,因爲該路徑必須是唯一的,「MYAPP」不能既使用 - 自動部署使用war文件名來派生上下文以及上面的上下文片段。我可以改變路徑來指向「myapp/static」,但是我需要將更改應用到我想要避免的源代碼。
想法如何將外部文件夾映射到我的應用程序根目錄是非常值得歡迎的。
你爲什麼不用另一個碼頭圖像創建一個例如nginx httpd,提供來自該映像的開發靜態內容並將nginx配置爲您的tomcat docker映像的反向代理? – saw303
目前我寧願保持設置儘可能簡單。我也可以使用Apache Web服務器來提供靜態內容,但我暫時不想再引入其他服務器。感謝提示。 – Flexer