2016-06-21 39 views
0

我想從一個mysql容器創建一個docker鏡像。 問題是新圖像的數據庫是乾淨的,但 文件/文件夾,我在提交之前在源容器中手動創建 被複制。碼頭提交mysql不保存

base mysql image is official 5.6

碼頭是1.11。

我在創建數據庫時檢查了文件夾 /var/lib/mysql/d1,但新圖像 未保留此文件夾,但保留了/ root中的文件夾。

回答

0

您應該將數據存儲在卷中,而不是通過提交容器。

docker run -v mysql-data:/var/lib/mysql \ 
    -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql 

承諾容器意味着你不能輕易從上游升級,你的更改不容易複製。

+0

此解決方案不足。我需要複製現有的容器,並有額外的數據文件太複雜。該容器壽命短。我發現問題是由於基礎映像中的「卷指令」造成的。有沒有辦法通過docker文件禁用它? –

+0

我不相信有一種方法可以在Dockerfile中創建父映像後禁用卷。您可能能夠導出和導入丟失整個基本圖像配置的平面圖像。 – BMitch