2016-06-21 11 views
0

mysqlコンテナからドッカー画像を作成しようとしています。 問題は、新しいイメージのdbはクリーンですが、 ファイル/フォルダは、コミットする前に元のコンテナに手動で を作成してコピーします。ドッカーコミットmysqlが保存されない

ベースMySQLの画像は、5.6

ドッカーが1.11である公式です。

dbが作成されたときに、 /var/lib/mysql/d1というフォルダが表示されていることを確認しましたが、新しいイメージ は/ rootのフォルダは永続化されますが、

答えて

0

コンテナをコミットするのではなく、データをボリュームに格納する必要があります。

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

コンテナをコミットすると、アップストリームから簡単にアップグレードすることはできず、変更は簡単には再現されません。

+0

このソリューションは足がありません。私は既存のコンテナをコピーする必要があり、データのために余分なファイルを持つことはあまりにも複雑です。容器の寿命は短い。私は問題がベースイメージの "ボリュームディレクティブ"によると思う。それはドッカーファイルを介して無効にする方法はありますか? –

+0

Dockerfileが親イメージで作成されたボリュームを無効にする方法はないと思います。基本イメージ設定全体が失われたフラットイメージをエクスポートしてインポートすることができます。 – BMitch

関連する問題