GNU/Linux >> Linux の 問題 >  >> Panels >> Docker

Dockerイメージのコンテンツを分析および調査する方法

ご存知かもしれませんが、Dockerコンテナイメージは、アプリケーションの実行に必要なすべてを備えた、軽量でスタンドアロンの実行可能なソフトウェアパッケージです。そのため、開発者はアプリケーションの構築と配布にコンテナイメージを使用することがよくあります。 Dockerイメージの内容を知りたい場合は、この簡単なガイドが役立つ場合があります。今日は、 "Dive" という名前のツールを使用して、Dockerイメージのコンテンツをレイヤーごとに分析および調査する方法を学習します。 。 Dockerイメージを分析することで、レイヤー間で重複する可能性のあるファイルを検出し、それらを削除してDockerイメージのサイズを縮小できます。 Diveユーティリティは、Docker Imageアナライザーであるだけでなく、DockerImageアナライザーの構築にも役立ちます。 Diveは、 Goで記述された無料のオープンソースツールです。 プログラミング言語。

ダイブのインストール

リリースページから最新バージョンを入手してください 使用するディストリビューションに応じて、以下のようにインストールします。

Debianを使用している場合 またはUbuntu 、次のコマンドを実行してダウンロードしてインストールします。

$ wget https://github.com/wagoodman/dive/releases/download/v0.0.8/dive_0.0.8_linux_amd64.deb
$ sudo apt install ./dive_0.0.8_linux_amd64.deb

RHEL / CentOSの場合:

$ wget https://github.com/wagoodman/dive/releases/download/v0.0.8/dive_0.0.8_linux_amd64.rpm
$ sudo rpm -i dive_0.0.8_linux_amd64.rpm

AURで利用できます 、たとえば、 YayなどのAURヘルパーツールを使用してインストールできます。 、ArchLinuxとそのバリアント。

$ yay -S dive

Diveは、 Linuxbrewを使用してインストールすることもできます パッケージマネージャー。

$ brew tap wagoodman/dive
$ brew install dive

その他のインストール方法については、このガイドの最後にあるプロジェクトのGitHubページを参照してください。

Dockerイメージのコンテンツを分析および調査する

Dockerイメージを分析するには、Docker「イメージID」を指定してdiveコマンドを実行するだけです。 「sudodockerimages」コマンドを使用してDockerイメージのIDを取得できます。

$ sudo dive ea4c82dcd15a

ここでは、 ea4c82dcd15a DockerイメージIDです。

Diveコマンドは、指定されたDockerイメージをすばやく分析し、その内容をターミナルに表示します。

Dockerイメージのコンテンツを調べる

上のスクリーンショットでわかるように、特定のDockerイメージのレイヤーとその詳細、無駄なスペースが左側のペインに表示されます。右側のペインで、特定のDockerイメージの各レイヤーのコンテンツ。 Ctrl + SPACEBAR を使用して、左ペインと右ペインを切り替えることができます キーと上/下 ディレクトリツリーをナビゲートするための矢印キー。

「ダイブ」を使用するためのキーボードショートカットのリスト。

  • Ctrl+スペースバー -左ペインと右ペインを切り替えます。
  • スペースバー -ディレクトリツリーを展開/折りたたみます
  • Ctrl + A -追加されたファイルの表示/非表示
  • Ctrl + R -削除されたファイルの表示/非表示
  • Ctrl + M -変更されたファイルの表示/非表示
  • Ctrl + U -変更されていないファイルの表示/非表示
  • Ctrl + L -レイヤーの変更を表示します
  • Ctrl + A -レイヤーの変更を表示します
  • Ctrl + / -ファイルをフィルタリングします
  • Ctrl + C -終了します。

上記の例では、Dockerイメージが / var / lib / docker / に保存されているため、「sudo」権限を使用しています。 ディレクトリ。 $ HOMEディレクトリまたは所有されていない「root」ユーザーにそれらがある場合は、「sudo」を使用する必要はありません。

Dockerイメージを作成し、という1つのコマンドですぐに分析を行うこともできます。

$ dive build -t <some-tag>

詳細については、以下に示すプロジェクトのGitHubページをご覧ください。


Docker
  1. InstantSiteで画像を回転およびトリミングする方法

  2. Dockerイメージ、コンテナー、およびDockerファイルを詳細に使用する方法

  3. Dockerイメージを他の人と共有する方法

  1. DockerイメージのCMDとENTRYPOINTの違い

  2. Dockerイメージを変更する方法

  3. Dockerfileを使用してカスタムDockerイメージを自動的に構築および構成する方法–パート3

  1. ホスト間でDockerイメージを移動する方法

  2. Dockerイメージをあるサーバーから別のサーバーにパッケージ化して転送する方法

  3. コンテナと Dockerfile から Docker イメージを作成する方法