docker inspect の使い方
詳しい情報を見る
書き方
docker inspect 名前
docker inspect -f '{{.State.Status}}' コンテナ
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' コンテナコンテナ・イメージ・ネットワーク・ボリュームの設定と状態を JSON で表示します。-f で必要なところだけ取り出せます。
よく使うオプション
| オプション | 意味 |
|---|---|
-f テンプレート / --format | Go のテンプレートで必要な値だけ取り出す |
--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 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。