名前にドットを含む 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 サイトの他の関連記事を参照してください。