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
すると以下のようにコンテナの内部構造が表示されました。
結果を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.