Skip to content

Dockerコンテナの内部構造をdiveで確認する

Dockerコンテナを展開し、内部構造を確認するには以下のツールがあるそうです。しかし、私の環境ではいずれも動作しませんでした。

diveを使えばコンテナの内部構造を確認することができたので、簡単な使い方をメモしておきます。

検証環境

対象 バージョン
Ubuntu 24.04.2 LTS
dive 0.13.1

インストール

Ubuntuで作業していた為、GitHubからdeb形式のファイルをダウンロードし、ローカルインストールします。

curl -LO https://github.com/wagoodman/dive/releases/download/v0.13.1/dive_0.13.1_linux_amd64.deb
apt install ./dive_0.13.1_linux_amd64.deb

使い方

予め、対象となるコンテナイメージをpullしておきます。

docker pull busybox

引数に調査対象のコンテナを指定し、diveを実行します。

dive busybox:latest

すると以下のようにコンテナの内部構造が表示されました。

image

結果をJSONに保存する

結果をJSON形式で保存するには以下のように実行します。

dive busybox:latest -j output.json

参考

ヘルプ

# dive --help
This tool provides a way to discover and explore the contents of a docker image. Additionally the tool estimates
the amount of wasted space and identifies the offending files from the image.

Usage:
  dive [IMAGE] [flags]
  dive [command]

Available Commands:
  build       Builds and analyzes a docker image from a Dockerfile (this is a thin wrapper for the `docker build` command).
  completion  Generate the autocompletion script for the specified shell
  help        Help about any command
  version     print the version number and exit (also --version)

Flags:
      --ci                                Skip the interactive TUI and validate against CI rules (same as env var CI=true)
      --ci-config string                  If CI=true in the environment, use the given yaml to drive validation rules. (default ".dive-ci")
      --config string                     config file (default is $HOME/.dive.yaml, ~/.config/dive/*.yaml, or $XDG_CONFIG_HOME/dive.yaml)
  -h, --help                              help for dive
      --highestUserWastedPercent string   (only valid with --ci given) highest allowable percentage of bytes wasted (as a ratio between 0-1), otherwise CI validation will fail. (default "0.1")
      --highestWastedBytes string         (only valid with --ci given) highest allowable bytes wasted, otherwise CI validation will fail. (default "disabled")
  -i, --ignore-errors                     ignore image parsing errors and run the analysis anyway
  -j, --json string                       Skip the interactive TUI and write the layer analysis statistics to a given file.
      --lowestEfficiency string           (only valid with --ci given) lowest allowable image efficiency (as a ratio between 0-1), otherwise CI validation will fail. (default "0.9")
      --source string                     The container engine to fetch the image from. Allowed values: docker, podman, docker-archive (default "docker")
  -v, --version                           display version number

Use "dive [command] --help" for more information about a command.