ホームページ  >  記事  >  バックエンド開発  >  「inspect」コマンドを使用して、名前にドットが含まれる Docker イメージ ラベルにアクセスするにはどうすればよいですか?

「inspect」コマンドを使用して、名前にドットが含まれる Docker イメージ ラベルにアクセスするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-14 17:39:02250ブラウズ

How to Access Docker Image Labels with Dots in Their Names Using the `inspect` Command?

名前にドットを含む Docker イメージ ラベルへのアクセス

Docker の検査コマンドは、コンテナー イメージのラベルを取得する便利な方法を提供します。ただし、 --format オプションと Go テンプレートを使用して、名前にドットが含まれるラベルを抽出するのは難しい場合があります。

問題:

次の Docker イメージは 2 つのラベルを定義しています。

FROM busybox
LABEL foo="bar"
LABEL com.wherever.foo="bang"

--format を指定した検査コマンドの使用オプション:

$ docker inspect -f '{{ .Config.Labels.foo }}' foo

は、「foo」ラベルの値を正しく返します。ただし、名前にドットが含まれるラベル

$ docker inspect -f '{{ .Config.Labels.com.wherever.foo }}' foo

にアクセスしようとすると、「<値なし>」という結果になります。

解決策:

名前にドットを含むラベルを取得するには、Go 内のインデックス関数を使用します。 template:

$ docker inspect -f '{{ index .Config.Labels "com.wherever.foo" }}' foo

これにより、目的のラベル値「bang」が出力されます。

インデックス関数はマップ内の任意の文字列を検索し、見つかった場合は対応する値を返します。 2 番目のパラメーターとしてラベル名を指定すると、この関数は Config オブジェクトの Labels マップから関連付けられた値を取得します。

以上が「inspect」コマンドを使用して、名前にドットが含まれる Docker イメージ ラベルにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。