IBM Cloud Docs
Container Registry CLI 出力のフォーマットとフィルタリング

Container Registry CLI 出力のフォーマットとフィルタリング

サポートされる IBM Cloud Container Registry コマンドでは、IBM Cloud® Container Registry の CLI 出力をフォーマット設定したりフィルタリングしたりできます。

デフォルトで、CLI 出力は、人間が読める形式で表示されます。 ただし、このビューでは、特にコマンドがプログラマチックに実行される場合、出力の使用能力が制限される可能性があります。 例えば、 ibmcloud cr image-list のCLI出力では、 Size フィールドを数値順にソートしたい場合があるかもしれませんが、コマンドは文字列の説明を返します。 container-registry CLI プラグインには、Go テンプレートを CLI 出力に適用するために使用できる format オプションが用意されています。 Goテンプレートは、 Goプログラミング言語の機能であり、CLI出力のカスタマイズに使用できます。

format オプションを次の 2 つの異なる方法で適用して、CLI 出力を変更できます。

  • CLI 出力内のデータをフォーマット設定する。 例えば、 Created フィールドの出力を UNIX ® 時間から標準時間に変更できます。
  • CLI 出力内のデータをフィルター操作する。 例えば、Go テンプレートの if gt 条件を使用することにより、イメージの詳細でフィルター操作してイメージの特定のサブセットを表示します。

フォーマット設定オプションには、以下の IBM Cloud Container Registry コマンドを使用します。 コマンドをクリックすると、使用可能なフィールドとそれらのデータ・タイプのリストが表示されます。

次のサンプル・コードは、フォーマット設定オプションとフィルター操作オプションの使用方法を示しています。

  • 次の ibmcloud cr image-digests コマンドを実行すると、ダイジェストで参照される、タグが付いていないイメージすべてを表示します。

    ibmcloud cr image-digests --format '{{if not .Tags}}{{.Repository}}@{{.Digest}}{{end}}'
    

    次のメッセージは、コマンドの出力例です

    example-<region>.icr.io/user1/my_first_repo@<digest1>
    example-<region>.icr.io/user1/my_first_repo@<digest2>
    example-<region>.icr.io/user1/my_first_repo@<digest3>
    
  • 次の ibmcloud cr image-list コマンドを実行すると、サイズが 1 MB を超えるタグが付いているすべてのイメージのリポジトリー、タグ、セキュリティーの状況を表示します。

    ibmcloud cr image-list --format "{{ if gt .Size 1000000 }}{{ .Repository }}:{{ .Tag }} {{ .SecurityStatus.Status }}{{end}}"
    

    以下のメッセージは、コマンドからの出力の例です。

    example-<region>.icr.io/user1/my_first_repo:latest No Issues
    example-<region>.icr.io/user1/my_second_repo:1 2 Issues
    example-<region>.icr.io/user1/my_second_repo:test1 1 Issue
    example-<region>.icr.io/user1/my_second_repo_2:test2 7 Issues
    

    リスト画像コマンドがタイムアウトした場合は 、「画像をリストアップするとタイムアウトする理由」 を参照してください。

  • 次の ibmcloud cr image-inspect コマンドを実行すると、指定した IBM パブリック・イメージについての IBM のドキュメンテーションがホストされている場所が表示されます。

    ibmcloud cr image-inspect ibm_public_image --format "{{ .ContainerConfig.Labels }}"
    

    以下のメッセージは、コマンドからの出力の例です。

    map[doc.url:/docs/images/docker_image_ibm_public_image/ibm_public_image_starter.html]
    
  • 次の ibmcloud cr image-inspect コマンドを実行すると、指定されたイメージについて公開されているポートが表示されます。

    ibmcloud cr image-inspect ibm_public_image --format "{{ .Config.ExposedPorts }}"
    

    以下のメッセージは、コマンドからの出力の例です。

    map[9080/tcp: 9443/tcp:]
    

ibmcloud cr image-digests の Go テンプレートのオプション

以下の表を検討して、ibmcloud cr image-digests コマンドで使用可能な、Go テンプレートのオプションおよびデータ・タイプを見つけてください。

画像ダイジェストを一覧表示するContainer Registryコマンドで使用可能なフィールドとデータタイプ
フィールド タイプ 説明
Created 整数 (64 ビット) 画像が作成された日時を、UNIX 時間で秒数で表示します。
Digest ストリング イメージの固有 ID を表示します。
ManifestType ストリング イメージ・マニフェスト・タイプを表示します。
Repository ストリング イメージのリポジトリーを表示します。
SecurityStatus オブジェクト イメージの脆弱性の状況を表示します。 以下の値をフィルタリングしてフォーマット設定することができます。

  • Status string
  • IssueCount int
  • ExemptionCount int

考えられる状況については、CLI を使用した脆弱性レポートの確認で説明しています。

Size 整数 (64 ビット) イメージのサイズをバイト単位で表示します。
Tags 文字列のアレイ イメージのタグを表示します。

ibmcloud cr image-list の Go テンプレートのオプション

以下の表を検討して、ibmcloud cr image-list コマンドで使用可能な、Go テンプレートのオプションおよびデータ・タイプを見つけてください。

画像を一覧表示するContainer Registryコマンドで使用可能なフィールドとデータタイプ
フィールド タイプ 説明
Created 整数 (64 ビット) 画像が作成された日時を、UNIX 時間で秒数で表示します。
Digest ストリング イメージの固有 ID を表示します。
ManifestType ストリング イメージ・マニフェスト・タイプを表示します。
Namespace ストリング イメージが保管されている名前空間を表示します。
Repository ストリング イメージのリポジトリーを表示します。
SecurityStatus オブジェクト イメージの脆弱性の状況を表示します。 以下の値をフィルタリングしてフォーマット設定することができます。

  • Status string
  • IssueCount int
  • ExemptionCount int

考えられる状況については、CLI を使用した脆弱性レポートの確認で説明しています。

Size 整数 (64 ビット) イメージのサイズをバイト単位で表示します。
Tag ストリング イメージのタグを表示します。

ibmcloud cr image-inspect の Go テンプレートのオプション

以下の表を検討して、ibmcloud cr image-inspect コマンドで使用可能な、Go テンプレートのオプションおよびデータ・タイプを見つけてください。

画像を検査するContainer Registryコマンドで使用可能なフィールドとデータ型
フィールド タイプ 説明
Architecture ストリング このイメージのビルドに使用された、このイメージの実行に必要なプロセッサー・アーキテクチャーを表示します。
Author ストリング イメージの作成者を表示します。
Comment ストリング イメージの説明を表示します。
Config オブジェクト イメージの構成メタデータを表示します。 詳細については、Config フィールドの詳細を参照してください。
Container ストリング イメージを作成したコンテナーの ID を表示します。
ContainerConfig オブジェクト このイメージから開始されるコンテナーのデフォルト構成を表示します。 詳細については、Config フィールドの詳細を参照してください。
Created ストリング 画像が作成された際の UNIX タイムスタンプを表示します。
DockerVersion ストリング このイメージのビルドに使用された Docker のバージョンを表示します。
ID ストリング イメージの固有 ID を表示します。
Os ストリング このイメージのビルドに使用された、このイメージの実行に必要なオペレーティング・システム・ファミリーを表示します。
OsVersion ストリング このイメージのビルドに使用されたオペレーティング・システムのバージョンを表示します。
Parent ストリング このイメージのビルドに使用された親イメージの ID を表示します。
RootFS オブジェクト イメージのルートファイルシステムを説明するメタデータを表示します。 詳細については、RootFS フィールドの詳細を参照してください。
Size 整数 (64 ビット) イメージのサイズをバイト単位で表示します。
VirtualSize 整数 (64 ビット) イメージ内の各レイヤーのサイズの合計をバイト単位で表示します。

Config フィールドの詳細

コンフィグで使用可能なフィールドとデータタイプ
フィールド タイプ 説明
ArgsEscaped ブール値 Windowsコマンドがエスケープされている場合、_true _を表示する(Windows® 固有)。
AttachStderr ブール値 標準エラー・ストリームがコンテナーに接続されている場合は true、接続されていない場合は false を表示します。
AttachStdin ブール値 標準入力ストリームがコンテナーに接続されている場合は true、接続されていない場合は false を表示します。
AttachStdout ブール値 標準出力ストリームがコンテナーに接続されている場合は true、接続されていない場合は false を表示します。
Cmd 文字列のアレイ コンテナーの開始時にコンテナーに渡して実行するコマンドと引数を記述します。
Domainname ストリング コンテナーの完全修飾ドメイン・ネームを表示します。
Entrypoint 文字列のアレイ コンテナーの開始時に実行されるコマンドを記述します。
Env 文字列のアレイ キーと値のペアの形式で環境変数のリストを表示します。
ExposedPorts キー値マップ 公開されているポートのリストを [123:,456:] という形式で表示します。
Healthcheck オブジェクト コンテナーが正常に動作していることを確認する方法を記述します。 詳細については、Healthcheck フィールドの詳細を参照してください。
Hostname ストリング コンテナーのホスト名を表示します。
Image ストリング 演算子によって渡されたイメージの名前を表示します。
Labels キー値マップ 鍵と値のペアとして、イメージに追加されたラベルのリストを表示します。
MacAddress ストリング コンテナーに割り当てられている MAC アドレスを表示します。
NetworkDisabled ブール値 ネットワーキングがコンテナーで無効の場合は true、有効の場合は false を表示します。
OnBuild 文字列のアレイ ONBUILD イメージのDockerfileで定義されたメタデータを表示します。
OpenStdin ブール値 標準入力ストリームがオープンの場合は true、クローズの場合は false を表示します。
Shell 文字列のアレイ シェル形式の RUNCMDENTRYPOINT を表示します。
StdinOnce ブール値 接続されたクライアントが切断されてから標準入力ストリームがクローズになった場合は true、オープンになった場合は false を表示します。
StopSignal ストリング コンテナーを停止するときに送信する UNIX ® の停止シグナルを表します。
StopTimeout 整数 コンテナーを停止するためのタイムアウトを秒単位で表示します。
Tty ブール値 pseudo-tty がコンテナーに割り振られた場合は true、割り振られなかった場合は false を表示します。
User ストリング イメージが使用されているコンテナー内でコマンドを実行するユーザーを表示します。
Volumes キー値マップ コンテナーにマウントされているボリューム・マウントのリストを表示します。
WorkingDir ストリング 指定されたコマンドが実行されるコンテナー内の作業ディレクトリーを表示します。

Healthcheck フィールドの詳細

ヘルスチェックで利用可能なフィールドとデータタイプ
フィールド タイプ 説明
Interval 整数 (64 ビット) 2 つのヘルス・チェック間の待ち時間をナノ秒で表示します。
Retries 整数 コンテナーが正常に機能していないと見なされるまでの連続失敗回数を表示します。
Test 文字列のアレイ

ヘルス・チェック・テストの実行方法を表示します。 以下のオプションが使用可能です。

  • {} ヘルス・チェックを継承します。
  • {"NONE"} ヘルス・チェックを無効にします。
  • {"CMD", args...} exec 引数を直接実行します。
  • {"CMD-SHELL", command} システムのデフォルト・シェルを使用してコマンドを実行します。
Timeout 整数 (64 ビット) ヘルス・チェックが失敗となるまでに待機する時間 (ナノ秒) を表示します。

RootFS フィールドの詳細

RootFSで利用可能なフィールドとデータタイプ
オプション タイプ 説明
BaseLayer ストリング イメージ内の基本レイヤーの記述子を表示します。
Layers 文字列のアレイ 各イメージ・レイヤーの記述子を表示します。
Type ストリング ファイル・システムのタイプを表示します。