ダイブインドッカー拡張機能で画像サイズを縮小する

このゲスト投稿は、GoogleのシニアソフトウェアエンジニアであるPrakhar Srivastavによって書かれています。


ダイブインドッカー拡張機能を確認してください

ローカル開発またはクラウド デプロイ用に独自のコンテナーを構築したことがある人なら誰でも、コンテナー サイズを小さく保つことの利点を知っています。 ほとんどの場合、コンテナー イメージのサイズを小さく保つことは、クラウド上の帯域幅とストレージ コストを削減することで、実際のコストを節約できることを意味します。 さらに、イメージが小さいほど、CI/CD サーバーで使用する際の転送とデプロイが高速になります。

ただし、経験豊富なDockerユーザーであっても、コンテナのサイズを縮小する方法を理解するのは難しい場合があります。 Docker CLIはこれに非常に役立ちますが、どこから始めればよいかを理解するのは恐ろしい場合があります。 そこでダイブの出番です。

ダイビングとは何ですか?

ダイブは 、Dockerイメージとそのレイヤー・コンテンツを探索し、Docker/OCIイメージのサイズを縮小する方法を検出するためのオープンソース・ツールです。

大まかに言うと、Docker イメージのレイヤーを分析することで機能します。 追加するレイヤーごとに、画像が占めるスペースが増えます。 または、Dockerfileの各行(個別のRUN命令など)がイメージに新しいレイヤーを追加すると言うこともできます。

Dive はこの情報を取得し、次のことを行います。

  • Docker イメージ内のイメージ コンテンツをレイヤーごとに分類します。
  • 各レイヤーの内容を詳細に表示します。
  • イメージの合計サイズが表示されます。
  • 無駄になった可能性のあるスペースの量を示します。
  • 画像の効率スコアを表示します。

Diveは素晴らしくて非常に便利ですが、コマンドラインツールであり、TUI(ターミナルUI)を使用してすべての分析を表示します。 これは、一部のユーザーにとっては制限があり、使いにくいように見える場合があります。 

Diveからのこの有用なデータをすべて使いやすいUIに表示するのはクールだと思いませんか?ダイ ブイン、Dive を Docker Desktop に統合する新しい Docker 拡張機能を入力してください!

前提 条件

開始する前に、 Docker Desktop 4.8 以降をダウンロード する必要があります。 OSに適したバージョンを選択してからインストールしてください。

次に、Docker デスクトップにアクセスして、Docker 拡張機能機能が有効になっていることを確認します。 [設定]歯車>[拡張機能]タブをクリックし>[Docker拡張機能を有効にする]チェックボックスをオンにします。

Dockerデスクトップで拡張機能を有効にします。

詳細: ダイブ用の Docker 拡張機能

ダイブインは、ダイブ 上に構築されたDocker拡張機能であるため、Dockerユーザーは Docker デスクトップから直接コンテナを探索できます。

ダイブインドッカー拡張機能をインストールします。

開始するには、拡張機能マーケットプレイスで Dive-In を検索してインストールします。

または、以下を実行することもできます。

docker extension install prakhar1989/dive-in

初めてダイブインにアクセスすると、Docker Hub からダイブ イメージを取得するのに数秒かかります。 完了すると、分析できるすべての画像のグリッドが表示されます。

ダイブインドッカー拡張機能へようこそ。

注: 現在、ダイブインでは、ぶら下がっている画像 (または "none" のリポジトリタグを持つ画像) は表示されません。 これは、このグリッドを整理し、可能な限り実用的なものにするためです。

画像を分析するには、分析ボタンをクリックすると、Dive Behind the Sceneが呼び出され、データが収集されます。 画像のサイズによっては、時間がかかる場合があります。 完了すると、結果が表示されます。

上部には、画像の3つの主要なメトリックが表示され、画像の非効率性について高レベルのビューを取得するのに役立ちます。 効率スコアが低いほど、改善の余地があります。

詳細 Docker 拡張機能を使用してイメージ サイズを縮小する方法をご覧ください。

主要なメトリックの下には、画像内の最大のファイルのテーブルが表示され、サイズを縮小するための出発点として適しています。

最後に、下にスクロールすると、すべてのレイヤーの情報と各レイヤーのサイズが表示され、どのレイヤーが最終的なサイズに最も貢献しているかを確認するのに非常に役立ちます。

詳細 Docker 拡張機能を使用して画像レイヤーを表示します。

以上です! 

結論

詳細イン Docker 拡張機能は、Docker イメージを探索し、サイズを縮小する方法を見つけるのに役立ちます。 これは、人気のあるオープンソースツールであるDiveの上に構築されています。 ダイブインを使用して、Dockerデスクトップから直接コンテナに関する洞察を得ることができます。

自分で試してみてご意見をお聞かせください。プルリクエストも大歓迎です!

著者について

Prakhar Srivastav は Google のシニア ソフトウェア エンジニアで、Firebase で開発者のアプリ開発を容易にしています。 彼がヴィムを見つめていないとき、彼はギターを弾いたり、屋外を探索したりしているのを見つけることができます。