新手刚入门,自己学着创建系统镜像和各种应用的镜像
我先自己制作了一个centos67的镜像,然后基于centos67装了vim,再docker commit 保存为centos67vim
然后再基于centos67vim上 编译安装了mysql5.6再commit保存为 mysql56,可是发现容量就达1.591GB了
我再docker pull mysql 发现为什么官方提供的只有360.3
多谢各位大大帮忙解答!!
PHP中文网2017-04-24 09:12:48
イメージを作成するプロセスでは、いくつかの点に注意する必要があります:
1. ファイル システムは UnionFs であり、Dockerfile 内の各 RUN によってレイヤーが生成されます。したがって、実行のたびに生成されたデータをクリーンアップする必要があります。生成された結果 (3G のサイズ) は、各レイヤーのサイズを線形に重ね合わせたものであるためです。
2. 公式画像はなぜ小さすぎるのですか? mysql:5.6 を参考に分析してみましょう:
RUN apt-get update && apt-get install -y perl --no-install-recommends && rm -rf /var/lib/apt/lists/*
ビルドを更新した後、apt のキャッシュされたパッケージ ドキュメントを削除します。一般的に、このフォルダーは状況に応じて約 100M を占有します。
RUN { ...&& apt-get update && apt-get install -y
mysql-server="${MYSQL_VERSION}" && rm -rf /var/lib/apt/lists/* && rm
-rf / var/lib/mysql && mkdir -p /var/lib/mysql db をインストールした後、通常どおりキャッシュされたパッケージ ファイルを削除します。 /var/lib/mysql を削除すると、サンプル データベースがクリアされる場合があります。
Hub.docker.com で最も一般的に使用されている vim パッケージを見てみましょう。haron/vim イメージは 300M で、ベース イメージとしてスクラッチを使用していることがわかりました。
hub.docker.com を大まかに検索した結果、centos に基づく mysql イメージは見つかりませんでした。個人的には、キャッシュされたパッケージが削除されないことが問題の原因であると推測しています。
mysql画像解析
ハロン/vim分析
Centosの基本的な画像分析
Ubuntuの基本的なイメージ分析
ringa_lee2017-04-24 09:12:48
ランプをインストールしたところ、1 つのインストール パッケージで 3G しか増加しなかったのは不思議ではありません。1 つの mysql が 1G 増加したことが判明しました。
怪我咯2017-04-24 09:12:48
mysqlの公式イメージのdockerfileを確認すると基本的なイメージが異なるはずです。一般に、多くの公式基本イメージは非常に小さいです。たとえば scratch
ただし、ubuntu などを使用すると、約 180M になります (centos に気付かなかったので、@
imdjh に修正していただきありがとうございます)。