0
我想從一個mysql容器創建一個docker鏡像。 問題是新圖像的數據庫是乾淨的,但 文件/文件夾,我在提交之前在源容器中手動創建 被複制。碼頭提交mysql不保存
base mysql image is official 5.6
碼頭是1.11。
我在創建數據庫時檢查了文件夾 /var/lib/mysql/d1,但新圖像 未保留此文件夾,但保留了/ root中的文件夾。
我想從一個mysql容器創建一個docker鏡像。 問題是新圖像的數據庫是乾淨的,但 文件/文件夾,我在提交之前在源容器中手動創建 被複制。碼頭提交mysql不保存
base mysql image is official 5.6
碼頭是1.11。
我在創建數據庫時檢查了文件夾 /var/lib/mysql/d1,但新圖像 未保留此文件夾,但保留了/ root中的文件夾。
您應該將數據存儲在卷中,而不是通過提交容器。
docker run -v mysql-data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql
承諾容器意味着你不能輕易從上游升級,你的更改不容易複製。
此解決方案不足。我需要複製現有的容器,並有額外的數據文件太複雜。該容器壽命短。我發現問題是由於基礎映像中的「卷指令」造成的。有沒有辦法通過docker文件禁用它? –
我不相信有一種方法可以在Dockerfile中創建父映像後禁用卷。您可能能夠導出和導入丟失整個基本圖像配置的平面圖像。 – BMitch