docker inspect コマンドの使用に関するヒント

docker inspect コマンドの使用に関するヒント

説明と紹介

Docker inspect は Docker クライアントのネイティブ コマンドであり、Docker オブジェクトの基盤となる基本情報を表示するために使用されます。コンテナ ID、作成時間、実行ステータス、起動パラメータ、ディレクトリのマウント、ネットワーク構成などが含まれます。さらに、このコマンドを使用して、Docker イメージの情報を表示することもできます。

公式の説明は次のとおりです。

Dockerオブジェクトに関する低レベルの情報を返す

文法

構文は次のとおりです。

docker examine [オプション] NAME|ID [NAME|ID...]

オプション

以下の表は公式ウェブサイトから引用したものです

名前、略称デフォルト説明
--フォーマット、-f指定されたGoテンプレートを使用して出力をフォーマットする
--サイズ、-sタイプがコンテナの場合、ファイルの合計サイズを表示します。
- タイプ指定されたタイプのJSONを返す

上記の表に示すように、--type はコンテナ、イメージなどの docker オブジェクト タイプを指定するために使用されます。これは、コンテナとイメージの名前が同じ場合に使用できますが、あまり使用されません。たとえば、マシン上のコンテナの名前が redis で、イメージが redis:latest の場合、次のコマンドを使用してイメージ情報を表示できます。 type パラメータが使用されない場合は、コンテナ情報が返されます。

# redis:latest イメージ情報を表示 docker inspect --type=image redis

# redisコンテナ情報を表示する docker inspect redis

--size はコンテナのファイル サイズを表示するために使用されます。このパラメータを使用すると、出力に SizeRootFs と SizeRw が含まれます (この 2 つの値の意味はまだよくわかりません。詳しい方がいらっしゃれば教えていただけると幸いです)。

上記の 2 つのパラメータはほとんど使用されません。 --format は最も実用的で、より頻繁に使用されます。テーブルの説明から、渡されるパラメータ値は Go 言語のテンプレートである必要があることがわかります。これは非常に強力で、Go 関数の多くの操作を実行できます。私はまだ Go 言語を使い始めたばかりなので、間違いを避けるために、ここではそのアクロバットについてあまり詳しく説明しません。以下では、よく使用されるものについて説明します。

練習する

実際には、ディレクトリのマウント情報やネットワーク情報など、情報の一部のみを表示する必要がある場合がよくあります。 docker inspect container を直接入力すると、コンテナのすべての情報が出力されますが、これは肥大化しているように見え、コマンドラインでページをめくるのには不便です。 この時点で、--format の実用性が反映されます。実際の一般的な操作は次のとおりです。

ディレクトリマウント情報を表示する

次のコマンドを入力してコンテナのマウント情報を出力すると、ホストマシン上のコンテナ内の各ディレクトリの具体的なマウント場所を確認できます。

docker examine --format="{{json .Mounts}}" コンテナ

パラメータ内の json は Go 言語のメソッド名であり、その後にマウントの値が json に変換されて続きます。 jsonを削除することも可能です。
この入力がまだあまり良くないと思われる場合は、Python の json モジュールや jq を使用して出力を美しくするなど、json をさらに処理することができます。コマンドは次のとおりです。

#Python の json モジュールを使用してコンテナーを美しくする docker examine --format="{{json .Mounts}}" container | python -m json.tool

#jq を使用してコンテナーを美しくする docker inspect --format="{{json .Mounts}}" | jq

コンテナネットワーク情報を表示する

ネットワーク情報を表示するには、次のコマンドを使用します。

#完全なネットワーク情報を表示する docker examine --format="{{json .NetworkSettings}}" container | jq

#ネットワークポートマッピングを表示 docker examine --format="{{json .NetworkSettings.Ports}}" container | jq

# コンテナのネットワーク IP、ゲートウェイ、その他の情報を表示します。docker examine --format="{{json .NetworkSettings.Networks}}" container | jq

拡張学習

興味があれば、この --format パラメータもフル活用できます。これは Go のテンプレート構文であり、ほぼ Go コードを記述できます。たとえば、上記のコマンドでは、json は go のメソッド名です。

したがって、他の Go メソッド (range、split など) を組み合わせてアクロバットな操作を実行することもできますが、この記事ではその方法については説明しません。

参考文献
Docker公式ドキュメント

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • CentOS 7でのDockerのインストール方法とコマンド操作方法を詳しく解説
  • Docker クリーンアップ コマンド コレクション
  • Docker runコマンドの使い方の詳しい説明
  • コンテナイメージをクリアするためによく使用されるDockerのコマンドの概要
  • ファイルを変更した後、Docker を再起動する必要がありますか (コマンドの詳細)
  • Docker の基礎: Dockerfile コマンドの詳細な説明
  • Dockerサービスコマンドの詳しい説明(まとめ)
  • Dockerfile の一般的なコマンドの概要
  • Docker 共通コマンドまとめ(実践編)
  • Dockerテスト中にコマンドが完了できない問題の解決策
  • Docker共通コマンド操作方法

<<:  WeChatアプレットはシンプルな計算機を実装する

>>:  MySQL パフォーマンス チューニングについて知っておくべき 15 個の重要な変数 (要約)

推薦する

HTML独習の旅(I)基本要素と属性の練習(自分でコードを書く)

私は W3school のチュートリアルに従いました。チュートリアルはとても良いと思います。各セクシ...

MySQL トランザクション分離レベルと MVCC の詳細な説明

目次トランザクション分離レベル同時トランザクション実行中に発生した問題SQL標準の4つの分離レベルM...

Ubuntu 18.04 Linux システムに JDK と Mysql をインストールする方法

プラットフォームの展開1. JDKをインストールするステップ1. OracleJDKをダウンロードす...

WindowsX Hyper-V ベースの CentOS システムをインストールする

現在、Linux を使用するほとんどの人は、クラウド サーバーを使用するか、Windows 上に仮想...

Reactのdiffアルゴリズムの詳細な分析

Reactのdiffアルゴリズムの理解diffアルゴリズムは、 Virtual DOMの変更された部...

MySQL innodb例外の修復に関する経験の共有

テスト用の MySQL ライブラリのセット。以前使用されていたバージョンは、centos6 のデフォ...

過去2年間のユーザーエクスペリエンス

<br />国内のウェブサイトが本格的に普及し、ユーザーエクスペリエンスに重点が置かれる...

MySql インデックスを表示および最適化する方法

MySQL はハッシュ インデックスと Btree インデックスをサポートしています。 InnoDB...

Linux ディスク管理 LVM の使用

1. LVM の概要Linux ディスクを管理するときに、このような状況に遭遇することがよくあります...

Windows での MySQL インストール チュートリアル (画像とテキスト付き)

MySQL インストール手順 MySQL は、スウェーデンの MySQL AB によって開発された...

シンプルな HTML ビデオ プレーヤーを実装する方法

この記事では、シンプルな HTML ビデオ プレーヤーを実装する方法を紹介し、皆さんと共有します。詳...

MySQLデータベースのロック機構の分析

同時アクセスの場合、非反復読み取りやその他の読み取り現象が発生する可能性があります。高い同時実行性に...

サーバーストレステストの概念と方法 (TPS/同時実行性)

目次1 ストレステストの指標1.1 秒あたり1.2 クォータ1.3 平均処理時間(RT) 1.4 同...

HTML検証 HTML検証

HTML 検証はHTML 検証を指します。これは、HTML ドキュメントを分析し、標準の HTML ...