2017-07-07 114 views

回答

1

現在我能想到的兩種可能的方案來解決這個問題:

  1. 我們可以使用靜態.htaccess文件和安裝,截至其中原.htaccess被複制的地方卷,即在/var/html/www在容器內。從更新到此答案,我已驗證此.htaccess文件不會被默認docker-entrypoint.sh覆蓋。

  2. 我們可以使用來自wordpress docker的docker-entrypoint.sh文件在github並修改創建.htaccess文件的部分。這將保持入口點的默認行爲,並且.htaccess文件也將被修改。


更新:由@Nazar給出的答案也是正確的。仔細看看wordpress圖像中的默認docker-entrypoint.sh,我發現line 35有一個條件,它檢查.htaccess文件是否已經存在,並且只有在文件不存在的情況下才會創建一個新文件。所以,如果我使用RUN創建自己的文件,將會覆蓋而不是

1

Easyest方式是uild基於WordPress的自己的形象:與-netcat的,所有必需的準備工作:

FROM wordpress:with-netcat 

RUN /. EDIT YOUR .htaccess file here ./ 

ENTRYPOINT ... 
CMD ... 

,並使用該圖像,而不是原單。

+0

我不能這樣做,因爲這裏所做的更改將被在創建映像後運行的'docker-entrypoint.sh'覆蓋。它將所有內容複製到'var/html/www',從而也將替換我的文件。 – Ayushya

+1

你的回答很有幫助。仔細觀察'docker-entrypoint.sh'後,我發現在將所有內容複製到'var/html/www'時,在修改'.htaccess'文件之前進行了條件檢查。 – Ayushya