2016-11-08 3 views
0

大きな画像で作業するときに発生する問題は、Dockerがコンテナを作成するときにDockerがすべてのデータをコピーすることです。つまり、25GBの画像とコンテナがあれば、Docker VMでは約50GBしかかかりません。 何か間違っているのですか、Dockerは常にそのように機能していますか?もしそうなら、なぜですか? E. Gitでは、リポジトリを複製した直後にコードを直接使用することができます。ほとんどの場合、ブランチやその他のコピーをもう1つ追加する必要はありません。ドッカーがイメージコンテナとイメージコンテナの両方をVM上に保持するのはなぜですか?

PS私のMySQLデータベースのさまざまなバージョンを保持したい(現時点では、開発者によってのみ変更されているため、あまり頻繁ではないため)、高速復元を有効にしたいのでMySQLは* .sqlファイルからの復元が可能で、7時間かかりますが、DBを自由に使用するには時間がかかります)

+2

大量のデータがある場合は、ボリュームを使用する必要があります。イメージは小さく、https://docs.docker.com/engine/tutorials/dockervolumes/を読んで、アルパインまたはビットナイ(Debianのライト)をベースイメージとして使用し、イメージは小さくなります – user2915097

+0

@ user2915097は私のユースケースを追加しました質問に – Yurii

答えて

0

MySqlデータベースは少なくとも公式のイメージボリュームを使用します。あなただけの二つの容器が異なるという名前のボリュームを使用して同じ画像を小枝必要があります。

docker create volume devdb 
docker run --name devdb -v devdb:/var/lib/mysql -p 3306:3306-e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql 

その後、別のあなたのために:

docker create volume mydb 
docker run --name mydb -v mydb:/var/lib/mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql 

そして、私は新しいコンテナにドッキングウィンドウのコピーは、すべての画像コンテンツという怖いです。しかし、私はそれについては分かりません。

参考

関連する問題