DUICUO

プロジェクトの推奨事項: 強力なツール - Docker イメージの世界を探索するためのオープンソースツール

Dockerの現在の人気は否定できません。Dockerイメージはレイヤーの概念に基づいて構築されていることは周知の事実です。イメージを小さくする方法は常に注目されており、多くのベストプラクティスがオンラインで公開されています。イメージを分析し、イメージ内の様々なレイヤーをより明確に把握できる優れたツールはありますか?

今日は、Dockerイメージとそのレイヤーを探索し、Docker/OCIイメージのサイズを縮小する方法を見つけるためのオープンソースツールをご紹介します。このツールはdiveです。

ツールアドレス: https://github.com/wagoodman/dive、スター: 22k 以上。

このツールは、画像の各レイヤーに何が含まれているかを明確に表示し、下の画像に示すように、それが必要かどうかを簡単に分析できるようにします。

特性

このツールの主な機能は次のとおりです。

  • Docker イメージの内容をレイヤーごとに表示します。
  • 各レイヤーの変化を指摘します。
  • 「ミラーリングの効率」を評価する。
  • 迅速なビルド/分析サイクル。
  • CI との統合。
  • docker、docker-archive、podman などの複数のイメージおよびコンテナ エンジンをサポートします。

インストールと使用

システムに応じて、異なるインストール方法を選択できます。作者は、様々なシステム向けにコンパイル済みの実行ファイルを用意しています。例えば、macOSの場合は以下のようにインストールできます。

  1. $ brew インストール ダイブ

対応するファイルはリリース ページ (https://github.com/wagoodman/dive/releases) から入手することもできます。

また、Go 開発環境をお持ちの場合は、ソースコードからコンパイルしてインストールすることもできます。

ちなみに、Docker 経由でインストールすることもできます。例:

  1. $ docker pull wagoodman/dive

使用方法としては、最も簡単な方法が一般的に使用されます。

  1. $ dive <画像タグ>

たとえば、Go 言語ミラーを分析すると次のようになります。

  1. $ ダイブ Golang: 1.14  
  2. 画像を取得しています... (画像が大きい場合は時間かかることがあります)
  3. 画像を解析しています...画像を分析しています...キャッシュを構築しています...

画像が各レイヤーを構築していることがわかります。