2017-10-10 5 views
0

ドッカーの画像サイズについてテストしました。私はドッカーのコミットを実行した後にドッカーの画像サイズが大きすぎる

# docker images 
REPOSITORY       TAG     IMAGE ID    
CREATED    SIZE 
img_anaconda_installed    latest    5bbdedd62fd3   
21 seconds ago  2.79GB 
img_anaconda      latest    5d9dbd3c4a63   
14 minutes ago  794MB 
centos        latest    196e0ce0c9fb   
3 weeks ago   197MB 

セントは「ドッカープルセント」を実行していますが、そのサイズは197Mです。

次にcentosのコンテナを実行し、コンテナ内でyumをインストールしました.yumはbzip2をインストールし、anaconda.shファイルをダウンロードしてコンテナを停止しました。

次に、私は新しいイメージを作成するために 'docker commit my_container img_anaconda'を実行しました。画像サイズは794Mです。私が思っていたより少し大きいサイズです。

最後にもう一度my_containerに入り、anacondaをインストールしました。私がanacondaを終了した後、私はコンテナを止めて、ドッカーがimg_anaconda_installedという名前の新しいイメージをコミットします。そのサイズは2.79GBです。

私の質問は、大きなサイズの理由は、anacondaが大きいこと、またはドッカーのコミットがそれを引き起こしていることだけです。

PS:anaconda.shファイルのサイズは103Mです。

答えて

1

画像が大きいほど、結果のサイズは大きくなります。
yumリポジトリを更新すると(パッケージを追加したことが原因です)、そのレイヤーをコミットすると、イメージサイズがさらに大きくなります。キャッシュをクリーンアップすると、少し減少する可能性があります。

実行中のコンテナでイメージを更新する代わりに、Dockerfileと書くことをお勧めします。層数をより詳細に制御でき、すぐに結果を確認して全体をテストして調整することができます。

を実行すると、異なるレイヤーのサイズもわかるので、問題のある場所のヒントが得られます。

+0

ありがとうございました。「ドッカーの履歴」を確認したところ、レイヤーはcentos = 197Mしか見つかりませんでした。だから私は残りのサイズは、コンテナ内のファイルの変更(yumのインストールなど)からだと思う。しかし、それは私が思ったよりも大きすぎます。 – iloveml

+0

はい、多くのレイヤーがあるので: – Jite

+0

これは数週間前にブログ記事を書いていますが、おそらくそれはあなたに問題のいくつかの洞察を与えることができます:https://jite.eu/2017/9/27/layers/ – Jite

関連する問題