2017-07-19 40 views
0

我正在做一些本地WP開發。每次我進行更改(如添加一個插件)Docker-compose每次創建一個新的數據庫,數據不會保存

並運行:docker-compose up -d && docker-compose logs -f wordpress

它創建一個新的數據庫和插件被刪除一個長有任何改變。我可以每次在一個遷移插件中導出一個.wp文件,然後再導入它,但是什麼是更好的方法?

+0

供應的碼頭工人,compose.yml如果可能的話 – bluescores

+0

可惜我不能提供它,你能親切地指出我在我應該尋找的方向上? – JohnSnow

回答

0

在您的docker-compose.yml中嘗試top-level volume。正確配置後,無論您的後端服務由docker-compose重新啓動/重建/銷燬多少次,您都可以使用卷在文件系統級別保留後端數據。

0

如果您想要保留任何數據,那麼您可以將這些數據裝入卷中。在Docker中使用卷可以從documentation瞭解。對於wordpress,您可以在容器的/var/www/html/中安裝主機目錄。以下卷配置應該可以幫助你。

volumes: 
    - ./html/:/var/www/html/ 

提示1:如果你想幾件事情已經安裝在你的形象,然後安裝在dockerfile本身並創建自己的自定義圖像。 Build應該可以幫助您在docker-compose.yml中使用dockerfile。

提示2:爲了讓您更好地瞭解如何在Docker中進行本地開發,我建議您使用dockerfile來達到此目的。

在dockerfile中,您可以使用RUN命令來安裝任何東西。每個RUN命令的輸出存儲在緩存中。所以一旦你成功地構建了你的映像,那麼下一個RUN命令將不會被執行,而是將使用它的緩存

0

根據業務量可以使用下面的語法:

host:container 

例子:

wordpress: 

    volumes: 

     -../html:/var/www/html 

指定一個絕對路徑映射主機上

/opt/data:/var/lib/mysql 

路徑,相對於撰寫文件

./cache:/tmp/cache 

用戶相對路徑

~/configs:/etc/configs/:ro 

命名卷

datavolume:/var/lib/mysql 
相關問題