検索

ホームページ  >  に質問  >  本文

为什么docker上自己创建的mysql镜像特别大

新手刚入门,自己学着创建系统镜像和各种应用的镜像

我先自己制作了一个centos67的镜像,然后基于centos67装了vim,再docker commit 保存为centos67vim
然后再基于centos67vim上 编译安装了mysql5.6再commit保存为 mysql56,可是发现容量就达1.591GB了

我再docker pull mysql 发现为什么官方提供的只有360.3

多谢各位大大帮忙解答!!

巴扎黑巴扎黑2775日前1384

全員に返信(5)返信します

  • PHP中文网

    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 イメージは見つかりませんでした。個人的には、キャッシュされたパッケージが削除されないことが問題の原因であると推測しています。

    @ShawnTaoo 兄弟が言及したベースイメージのサイズの問題に関しては、次の調査も行いました: centos:最新 190+MB、debian:jessie: 130+MB、ubuntu:最新 180+MB


    参考:

    1. mysql画像解析

    2. ハロン/vim分析

    3. Centosの基本的な画像分析

    4. Ubuntuの基本的なイメージ分析

    返事
    0
  • ringa_lee

    ringa_lee2017-04-24 09:12:48

    ランプをインストールしたところ、1 つのインストール パッケージで 3G しか増加しなかったのは不思議ではありません。1 つの mysql が 1G 増加したことが判明しました。

    返事
    0
  • 迷茫

    迷茫2017-04-24 09:12:48

    まだ始めていません
    プレイする前に入門チュートリアルを読むことをお勧めします

    一時ファイルを削除せずにコミットします

    返事
    0
  • 怪我咯

    怪我咯2017-04-24 09:12:48

    mysqlの公式イメージのdockerfileを確認すると基本的なイメージが異なるはずです。一般に、多くの公式基本イメージは非常に小さいです。たとえば scratch ただし、ubuntu などを使用すると、約 180M になります (centos に気付かなかったので、@
    imdjh に修正していただきありがとうございます)。

    返事
    0
  • 阿神

    阿神2017-04-24 09:12:48

    Dockerfile を公開できれば、誰もがあなたを見てくれるでしょう。主な問題は Dockerfile の作成です

    返事
    0
  • キャンセル返事