2016-02-17 44 views
1

我是新來泊塢窗/ Drupal和使用Drupal的圖像創建容器時,我有一個問題:如何共享Docker容器文件夾,當它不是空的?

https://hub.docker.com/_/drupal/

我想共享的文件夾(在/ var/www/html等)與我的主機不是空的。這是Drupal的安裝位置。但是,主機中的我的文件夾是空的($ HOME/site/drupal8),並且裝載點將替換容器文件夾中的內容。結果,Drupal內容消失了。

我知道這是使用掛載點時的正常行爲。但是,我想知道開發人員如何能夠在本地更改容器上的代碼。

這是我使用的命令:

docker run -d -P -v $HOME/site/drupal8:/var/www/html --name drupal8 drupal 

順便說一句,這是開始使用Drupal開發的正確方法?或者我應該使用一個空的Docker(僅LAMP)並將drupal本地安裝在共享文件夾中?

謝謝!

回答

0

如果你從apache鏡像開始,你會花時間重新發明輪子,最後你仍然會遇到同樣的問題。

我看到了不同的解決方案,不直接鏈接到你的drupal問題,但這裏有一些線索。

第一個解決方案(用於開發): 我認爲最簡單的,你必須檢索你主機上的drupal文件夾。無論你是否可以從互聯網上下載它,你是否必須從你的圖像中檢索drupal。

要從您的映像中檢索文件,請運行未裝入任何卷的容器,然後使用docker cp command檢索文件夾。

一旦你的檢索文件夾你的主機,啓動容器上帶有音量

解決Seconde系列

我看到的解決方案安裝體積的/ var/www/html等_ref只包含超載文件

圖像被修改爲在第一次運行時從該文件夾複製到容器文件夾。

Jenkins圖像使用此插件將插件添加到默認目錄。 (用於生產)

第三解決方案創建一個從Drupal的圖像你自己dockerfile。將您的自定義/ var/www/html添加到您的圖片。

在此解決方案中,您將爲每個版本或腳本構建新圖像(tag tag)。

結論

這是很難有更大的發展和生產相同的圖像。如果您需要與我們的IDE同步目錄,我建議使用卷(第一個解決方案)。

相關問題