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 個の重要な変数 (要約)

推薦する

myisamchk および mysqlcheck ツールを使用して破損した MySQL データベース ファイルを迅速に修復する方法

サーバーのデータベース ハード ディスク領域がいっぱいだったため、大量のデータの書き込みに失敗し、「...

MySQLカバーインデックスの使用例

カバーインデックスとは何ですか?クエリで使用されるすべてのフィールドを含むインデックスを作成すること...

vite2.0+vue3 モバイルプロジェクトの詳細な説明

1. 関連する技術的なポイントバイト版ヴュー3 ts統合ルーティングvuexを統合するAxiosを統...

MySQL マスタースレーブ同期遅延の原因と解決策

歴史的な理由により、MySQL レプリケーションは、REDO ログではなく論理バイナリ ログに基づい...

MySQLの文字セットと検証ルールの詳細な説明

1いくつかの一般的な文字セットMySQL で最も一般的な文字セットには、ASCII 文字セット、ラテ...

MySQL トリガーの追加、削除、変更、クエリ操作の例

この記事では、例を使用して、MySQL トリガーの追加、削除、変更、およびクエリ操作について説明しま...

JavaScriptコールバック関数の詳細な理解

目次序文クイックレビュー: JavaScript 関数関数とは何ですか?関数を宣言する関数の呼び出し...

React Hooks の一般的な使用シナリオ (概要)

目次1. ステートフック1. 基本的な使い方2. 更新3. 合併を実現する4. 遅延初期化状態5. ...

Nginx サービスを使用してサブドメイン環境を構築し、2D マップの読み込みパフォーマンスを向上させる方法を説明します。

1. 背景最近、友人が大規模なマップの読み込みが遅いという問題に遭遇しました。iServer のパ...

各 Nginx プロセスで開くことができるファイルの最大数を設定する方法

1. システム内で開いているファイルの最大数を確認する #現在のリソース制限設定を表示する ulim...

JSはフロントエンドのページング効果を実現します

この記事の例では、フロントエンドのページング効果を実現するためのJSの具体的なコードを参考までに共有...

Jupyter Notebook で JavaScript を実行する方法

その後、VSC で Jupyter Notebook を使用する方法も追加しました...アナコンダを...

mysql5.7.19 winx64 インストールおよび構成方法のグラフィック チュートリアル (win10)

mysql 5.7.19 winx64のインストールチュートリアルは以下のように記録され、みんなと...

JavaScript での && および || 演算子の使用例

目次序文&& 演算子|| 演算子|| 演算子の簡単なデモ章の目的ケース演習(json...