docker inspect の使い方

詳しい情報を見る

書き方

docker inspect 名前
docker inspect -f '{{.State.Status}}' コンテナ
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' コンテナ

コンテナ・イメージ・ネットワーク・ボリュームの設定と状態を JSON で表示します。-f で必要なところだけ取り出せます。

よく使うオプション

オプション意味
-f テンプレート / --formatGo のテンプレートで必要な値だけ取り出す
--type 種類container・image・network・volume のどれを見るか決める(同じ名前があるとき)
-sコンテナの大きさも出す

例

$ docker inspect web

web の設定と状態を全部 JSON で出します。長いので、less や grep と組み合わせて読みます。

$ docker inspect -f '{{.State.Status}} {{.State.ExitCode}}' apiexited 137

状態と終了コードだけを取り出します。止まった理由を調べる手がかりになります。

$ docker inspect -f '{{json .Config.Env}}' web["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.27.2"]

コンテナに渡された環境変数を JSON の形で出します。-e で渡したものとイメージに入っていたものの両方が出ます。

$ docker inspect -f '{{range .Mounts}}{{.Source}} -> {{.Destination}}{{end}}' db/var/lib/docker/volumes/pgdata/_data -> /var/lib/postgresql/data

どのボリュームやディレクトリが、コンテナのどこにつながっているかを出します。

よくある間違い・注意

  • 終了コード 137 は KILL で止められたこと(メモリの上限を超えた OOM や docker kill)、143 は SIGTERM で止まったことを表します。
  • 環境変数にはパスワードも出ます。inspect の結果をそのまま人に送らないようにします。

実際に打って練習する

Docker コースの Lv23「環境変数で設定する」で覚えます(第3章 倉庫(データと設定))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜7 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。

Docker コマンド一覧(使い方と例)へ戻る