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

推薦する

MySQL の最初のインストールが成功した後にパスワードを初期化する手順

ファイルをディレクトリに解凍しますこれは解凍後のディレクトリですmy.iniファイルを入力しますダブ...

Alibaba Cloud Server に MySQL データベースをインストールする詳細なチュートリアル

目次序文1. MySQLをアンインストールする2. MySQLをインストールする要約する序文学習中に...

MySQLクエリトランザクション処理へのノード接続の実装

目次トピックmysqlの追加、削除、変更、クエリを入力しますMySQL トランザクション処理私は M...

Dockerでrabbitmqをデプロイする際に発生した2つの問題

1. 背景DockerでRabbitMQをデプロイする際に、次の2つの問題が発生します。問題1: ス...

Vueのフロントエンドシステムとフロントエンドとバックエンドの分離の詳細な説明

目次概要フロントエンド知識システムフロントエンドの3つの要素プレゼンテーション層 (CSS)動作レイ...

子コンポーネントで vue activated を使用する詳細

ページ: ベース: <テンプレート> <div class="タブコンテ...

docker デプロイメントの実装手順 lnmp-wordpress

目次1. 実験環境2. Dockerソースをインストールする3. Dockerをインストールする4....

MySQL の隠し列の詳細表示

目次1. 主キーが存在する2. 主キーはないが、一意のインデックスが存在する3. 共同主キーまたは共...

Docker クリーニングキラー/Docker オーバーレイ ファイルがディスク領域を大量に占有する

[インターネット上の移行ファイルをすべて見ると、信頼性が低く、症状のみを治療し、根本的な原因を治療し...

Vueはカスタム命令を使用してページの下部に透かしを追加します

プロジェクトシナリオプロジェクトの背景全体にカスタム透かしを追加します。透かしのテキスト、フォントの...

Reactはページング効果を実装する

この記事では、Reactでページング効果を実現するための具体的なコードを参考までに紹介します。具体的...

nginx のスムーズな再起動を実装する方法

1. 背景サーバーの開発プロセスでは、新しいコードや構成をロードするためにサービスを再起動することが...

React でカレンダー コンポーネントを構築するためのステップ バイ ステップ ガイド

目次事業背景テクノロジーの活用技術的な問題デザインのアイデア😱 困惑と苦痛に満ちた顔🙄考え始める🌲デ...

HTMLコードに基づく画像断片化読み込み機能の実装

今日は断片化された画像の読み込み効果を実装します。効果は次のとおりです。 これを 3 つのステップで...

SQL文の最適化の一般的な手順の詳細な説明

序文この記事では主に、SQL ステートメントの最適化の一般的な手順について説明します。これは、参考と...