Container Registry コマンドラインインタフェース
container-registry CLI プラグインで提供されている IBM Cloud® Container Registry コマンドラインインターフェイス (CLI) を使って、 IBM Cloud アカウント レジストリとコンテナーの作成に使用されるパブリック・イメージまたはプライベート・イメージを含むストレージおよび配布サービス。そのリソースを管理することができます。
前提条件
Container Registry CLI を使用する前に、以下の前提条件を完了しておく必要があります。
ibmcloudCLI プラグインをインストールします。 IBM Cloud CLI の概要 を参照してください。container-registryCLI プラグインをインストールします。container-registryCLI プラグインのインストールを参照してください。ibmcloud loginコマンドを使用して IBM Cloud にログインし、 アクセス・トークンユーザーのサービス・プロバイダー資格情報を使用する代わりに、コンシューマーがユーザーに代わって保護リソースにアクセスするために使用する値。 を生成し、CLI でコマンドを実行できるようにセッションを認証します。
注記
Container Registry CLI、 ibmcloud cr コマンドの使い方の詳細については、 Getting started with IBM Cloud Container Registry を参照。
ibmcloud CLI および container-registry CLI プラグインのアップデートが利用可能になると、コマンドラインで通知されます。 利用可能なコマンドやオプションをすべて使用できるように、CLIを常に最新の状態に保つようにしてください。 container-registry CLIプラグインの現在のバージョンを表示したい場合は、 ibmcloud plugin list コマンドを実行します。
一部の Container Registry コマンドに必要な IAM プラットフォームとサービスのアクセス・ロールの詳細については、 Container Registry の IAM アクセスの管理 を参照してください。
コンテナー・イメージ、名前空間名、説明フィールド、イメージ構成データ (イメージ名やイメージ・ラベルなど) に個人情報を含めないでください。
Container Registry コマンド ibmcloud cr が「登録されていないコマンドです」というエラーで失敗する場合は、 Container Registry(ibmcloud cr)コマンドが「登録されていない」というメッセージで失敗する理由を 参照してください。 コマンドが「ログインしていません」というメッセージで失敗する場合は、
「 Container Registry にログインできないのはなぜですか?」 を参照してください。
ibmcloud cr api
このコマンドは、コマンドが実行されたレジストリAPIエンドポイントの詳細を返す。
ibmcloud cr api
例
レジストリ API エンドポイントの詳細を調べる。
ibmcloud cr api
出力
例 示されたコマンドは次の出力を返します:
Registry API endpoint https://us.icr.io/api
OK
ibmcloud cr exemption-add
セキュリティー問題の免除を作成します。 異なるスコープに適用されるセキュリティー問題の免除を作成できます。 スコープは、アカウント、名前空間、リポジトリー、 ダイジェスト、タグの中から選択できます。
タグまたはダイジェストを使用してスコープ内のイメージを識別できます。 イメージは、ダイジェスト <dns>/<namespace>/<repo>@<digest> (同じリポジトリー内のダイジェストとそのすべてのタグに影響を与える) またはタグ <dns>/<namespace>/<repo>:<tag> を使用して参照できます。
ここでは <dns> はドメイン名、<namespace> は名前空間、<repo> はリポジトリー、<digest> はダイジェスト、<tag> はタグです。 タグが付いていないイメージを含むすべてのイメージをリストするには、
ibmcloud cr image-digests コマンドを実行します。
ibmcloud cr exemption-add --scope SCOPE --issue-type ISSUE_TYPE --issue-id ISSUE_ID [--output json | -o json]
前提条件
必要なパーミッションの詳細については、 設定用アクセス・ロール Container Registry を参照してください。
コマンド・オプション
--scope SCOPE-
アカウントをスコープとして設定するには、
"*"を値として使用します。名前空間、リポジトリー、ダイジェスト、またはタグをスコープとして設定するには、次の形式のいずれかでその値を入力します。
namespacenamespace/repositorynamespace/repository:tagnamespace/repository@digest
--issue-type ISSUE_TYPE-
免除するセキュリティー問題のタイプ。 有効な問題タイプを見つけるには、
ibmcloud cr exemption-typesを実行します。 --issue-id ISSUE_ID-
免除するセキュリティー問題の ID。 問題IDを見つけるには、
ibmcloud cr va <image>を実行します。<image>はあなたのイメージの名前であり、 脆弱性ID 列から関連する値を使用します。 --output json,-o json-
(オプション) JSON 形式でリストを出力します。
例
スコープに us.icr.io/birds/bluebird 、issue typeに cve 、issue IDに CVE-2018-17929 を入力し、 us.icr.io/birds/bluebird リポジトリ内のすべての画像について、IDが CVE-2018-17929 のCVE免責事項を作成します。
ibmcloud cr exemption-add --scope us.icr.io/birds/bluebird --issue-type cve --issue-id CVE-2018-17929
CVE-2018-17929 スコープに "*" 、問題タイプに cve 、問題IDに CVE-2018-17929。
ibmcloud cr exemption-add --scope "*" --issue-type cve --issue-id CVE-2018-17929
ibmcloud cr exemption-list (ibmcloud cr exemptions)
通称: exemptions
セキュリティー問題の免除をリストします。
タグまたはダイジェストを使用してスコープ内のイメージを識別できます。 イメージは、ダイジェスト <dns>/<namespace>/<repo>@<digest> (同じリポジトリー内のダイジェストとそのすべてのタグに影響を与える) またはタグ <dns>/<namespace>/<repo>:<tag> を使用して参照できます。 ここでは <dns> はドメイン名、<namespace> は名前空間、<repo> はリポジトリー、<digest> はダイジェスト、<tag> はタグです。 タグが付いていないイメージを含むすべてのイメージをリストするには、ibmcloud cr image-digests コマンドを実行します。
ibmcloud cr exemption-list [--scope SCOPE] [--output json | -o json]
前提条件
必要なパーミッションの詳細については、 設定用アクセス・ロール Container Registry を参照してください。
コマンド・オプション
--scope SCOPE-
(オプション) このスコープに適用される免除のみをリストします。
名前空間、リポジトリー、ダイジェスト、またはタグをスコープとして設定するには、次の形式のいずれかでその値を入力します。
namespacenamespace/repositorynamespace/repository:tagnamespace/repository@digest
--output json,-o json-
(オプション) JSON 形式でリストを出力します。
例
birds/bluebird をスコープとして入力し、 birds/bluebird リポジトリ内のイメージに適用されるセキュリティ問題のすべての適用除外をリストアップします。
出力には、アカウント規模の免除、birds 名前空間が適用範囲になる免除、および birds/bluebird リポジトリーが適用範囲になる免除が含まれます。 出力には、birds/bluebird リポジトリー内の特定のタグが適用範囲になる免除は含まれません。
ibmcloud cr exemption-list --scope birds/bluebird
birds/bluebird@sha256:101010101010 をスコープとして入力し、 birds/bluebird@sha256:101010101010 のダイジェストに含まれる画像に適用される、セキュリティ問題に関するすべての免除をリストアップします。
出力には、アカウント規模の免除、birds 名前空間が適用範囲になる免除、および birds/bluebird リポジトリーと birds/bluebird@sha256:101010101010 ダイジェストが適用範囲になる免除が含まれます。 出力には、birds/bluebird リポジトリー内の特定のタグが適用範囲になる免除は含まれません。
ibmcloud cr exemption-list --scope birds/bluebird@sha256:101010101010
ibmcloud cr exemption-rm
セキュリティー問題の免除を削除します。 既存の免除を表示するには、ibmcloud cr exemption-list を実行します。
タグまたはダイジェストを使用してスコープ内のイメージを識別できます。 イメージは、ダイジェスト <dns>/<namespace>/<repo>@<digest> (同じリポジトリー内のダイジェストとそのすべてのタグに影響を与える) またはタグ <dns>/<namespace>/<repo>:<tag> を使用して参照できます。 ここでは <dns> はドメイン名、<namespace> は名前空間、<repo> はリポジトリー、<digest> はダイジェスト、<tag> はタグです。 タグが付いていないイメージを含むすべてのイメージをリストするには、ibmcloud cr image-digests コマンドを実行します。
ibmcloud cr exemption-rm --scope SCOPE --issue-type ISSUE_TYPE --issue-id ISSUE_ID
前提条件
必要なパーミッションの詳細については、 設定用アクセス・ロール Container Registry を参照してください。
コマンド・オプション
--scope SCOPE-
アカウントをスコープとして設定するには、
"*"を値として使用します。名前空間、リポジトリー、ダイジェスト、またはタグをスコープとして設定するには、次の形式のいずれかでその値を入力します。
namespacenamespace/repositorynamespace/repository:tagnamespace/repository@digest
--issue-type ISSUE_TYPE-
削除したいセキュリティ問題の免除のissueのタイプ。 免除の種類を調べるには、
ibmcloud cr exemption-listを実行する。 --issue-id ISSUE_ID-
削除するセキュリティー問題の免除の ID。 免除の問題 ID を見つけるには、
ibmcloud cr exemption-listを実行します。
例
スコープに us.icr.io/birds/bluebird 、issueタイプに cve 、issue IDに CVE-2018-17929 を入力して、 us.icr.io/birds/bluebird リポジトリ内のすべての画像について、IDが CVE-2018-17929 のCVE免責事項を削除してください。
ibmcloud cr exemption-rm --scope us.icr.io/birds/bluebird --issue-type cve --issue-id CVE-2018-17929
スコープに "*" 、issue typeに cve 、issue IDに CVE-2018-17929 を入力して、IDが CVE-2018-17929 のCVEに対するアカウント全体のCVE免除を削除します。
ibmcloud cr exemption-rm --scope "*" --issue-type cve --issue-id CVE-2018-17929
ibmcloud cr exemption-types
免除できるセキュリティー問題のタイプをリストします。
ibmcloud cr exemption-types [--output json | -o json]
前提条件
必要なパーミッションの詳細については、 設定用アクセス・ロール Container Registry を参照してください。
コマンド・オプション
--output json,-o json- (オプション) JSON 形式でリストを出力します。
例
セキュリティ上の問題の種類を列挙してください。
ibmcloud cr exemption-types
出力
例 示されたコマンドは次の出力を返します:
Listing exemption types...
Issue type Description
cve CVE
sn Security Notice
configuration Configuration Issue
OK
ibmcloud cr iam-policies-enable
アカウントには、 Cloud Identity and Access Management (IAM)アクセスポリシーが必要です。
IAM認証を使用している場合、このコマンドはきめ細かな認可を可能にする。 詳しくは、Container Registry の IAM アクセス権限の管理および IAM アクセス・ポリシーの定義を参照してください。
ibmcloud cr iam-policies-enable
前提条件
必要なパーミッションの詳細については、 設定用アクセス・ロール Container Registry を参照してください。
例
IAM ポリシーを使用して、きめ細かな認可を可能にする。
ibmcloud cr iam-policies-enable
ibmcloud cr iam-policies-status
このコマンドは、対象の IBM Cloud Container Registry アカウント IAM アクセス ポリシー ステータスを表示します。 詳しくは、Container Registry の IAM アクセス権限の管理および IAM アクセス・ポリシーの定義を参照してください。
アカウントには、 IBM Cloud® Identity and Access Management (IAM)アクセスポリシーが必要です。
ibmcloud cr iam-policies-status
例
アカウントのIAMアクセスポリシーのステータスを表示します。
ibmcloud cr iam-policies-status
出力
例 示されたコマンドは次の出力を返します:
IAM policy enforcement is enabled for account 'X's Account' in registry 'us.icr.io'.
OK
ibmcloud cr image-digests (ibmcloud cr digests)
通称: digests
IBM Cloud アカウントで、タグなしのイメージを含むすべてのイメージを一覧表示します。 このコマンドは、ダイジェストを長形式で返します。 画像を識別するためにダイジェストを使用する場合は、常にロングフォーマットを使用してください。
タグが付いているイメージのみをリストするには、ibmcloud cr image-list コマンドを実行します。
イメージを参照するには、アットマーク (@) で区切られたリポジトリー列 (repository) とダイジェスト列 (digest) の組み合わせを使用して、イメージ名を repository@digest の形式で作成します。 コロン (:) で区切られたリポジトリー列の内容
(repository) とタグ列のいずれかのタグ (tag) の組み合わせを使用してイメージ名を参照し、イメージ名を repository:tag という形式で作成することもできます。
ibmcloud cr image-digests [--format FORMAT | --quiet | -q | --output json | -o json] [--restrict RESTRICTION] [--include-ibm] [--no-va] [--va]
前提条件
必要なパーミッションの詳細については、 を使用するためのアクセス・ロール Container Registry を参照してください。
コマンド・オプション
--format FORMAT- (オプション) Go テンプレートを使用して出力要素のフォーマットを設定します。 詳細については、Container Registry CLI 出力のフォーマット設定およびフィルター操作を参照してください。
--quiet,-q- (オプション) 各イメージが、
repository@digestという形式でリストされます。 --output json,-o json- (オプション) JSON 形式でリストを出力します。
--restrict RESTRICTION- (オプション) 指定した名前空間内またはリポジトリー内のイメージのみを表示するように出力を制限します。
--include-ibm- (オプション) IBM 提供のパブリック・イメージを出力に含めます。 デフォルトではプライベート・イメージのみがリストされます。 グローバル・レジストリーにある IBM 提供のイメージのみを表示できます。
--no-va- (オプション) Vulnerability Advisor セキュリティー状況の結果を出力から除外します。
ibmcloud cr image-digests出力の一部としてセキュリティー状況の結果が必要ではない場合、このオプションを使用してパフォーマンスを向上させることができます。 --va- (オプション)出力に Vulnerability Advisor のセキュリティ状態の結果を含めます。 オプション
--restrict``--vaとオプションを組み合わせて使用することで、必要な情報のみを受け取ることができます。
例
--quiet を使って repository@digest のフォーマットで画像を一覧表示し、 birds を制限として入力することで、 repository@digest のフォーマットで、タグ付けされていない画像を含む birds 名前空間のすべての画像を表示します。
ibmcloud cr image-digests --restrict birds --quiet
出力
例 示されたコマンドは次の出力を返します:
us.icr.io/birds/bluebird@sha256:11ab001ab10011cd1000101cd0101010001ab111100cd00ab111
us.icr.io/birds/blackbird@sha256:22ef00ef002220002gh200222000gh00ef2222000ab00222
ibmcloud cr image-inspect
特定のイメージに関する詳細を表示します。 検査するイメージは、 ダイジェスト repository@digest または タグ repository:tag のいずれかによって参照できます。
ibmcloud cr image-inspect [--format FORMAT] IMAGE [IMAGE...]
前提条件
必要なパーミッションの詳細については、 を使用するためのアクセス・ロール Container Registry を参照してください。
コマンド引数
IMAGE-
レポートを取得するイメージの名前。 このコマンドに複数のイメージの名前をスペースで区切ってリストすると、複数のイメージの詳細を表示できます。
ダイジェスト
<dns>/<namespace>/<repo>@<digest>またはタグ<dns>/<namespace>/<repo>:<tag>のいずれかを使用して、イメージを特定できます。 ここでは<dns>はドメイン名、<namespace>は名前空間、<repo>はリポジトリー、<digest>はダイジェスト、<tag>はタグです。イメージの名前を調べるには、以下のいずれかのコマンドを実行します。
- ダイジェストでイメージを特定するには、
ibmcloud cr image-digestsコマンドを実行します。 Repository 列の内容 (repository) と Digest 列の内容 (digest) をアットマーク (@) で区切って連結し、repository@digest形式のイメージ名を作成します。 - タグでイメージを特定するには、
ibmcloud cr image-listコマンドを実行します。 Repository 列の内容 (repository) と Tag 列の内容 (tag) をコロン (:) で区切って連結し、repository:tag形式のイメージ名を作成します。 イメージ名の中にタグを指定しない場合は、latestというタグが付いたイメージがデフォルトで削除されます。
- ダイジェストでイメージを特定するには、
コマンド・オプション
--format FORMAT- (オプション) Go テンプレートを使用して出力要素のフォーマットを設定します。 詳細については、Container Registry CLI 出力のフォーマット設定およびフィルター操作を参照してください。
例
フォーマット指示文 "{{ .Config.ExposedPorts }}" を使用し、 us.icr.io/birds/bluebird:1 を画像として入力することで、 us.icr.io/birds/bluebird:1 画像の公開ポートに関する詳細を表示します。
ibmcloud cr image-inspect --format "{{ .Config.ExposedPorts }}" us.icr.io/birds/bluebird:1
ibmcloud cr image-list (ibmcloud cr images)
通称: images
すべてのタグ付きイメージを IBM Cloud アカウントに表示します。 タグが付いていないイメージを含むすべてのイメージをリストする場合、ibmcloud cr image-digests コマンドを実行します。 デフォルトでは、ibmcloud cr image-list コマンドは切り捨てられた形式でイメージのダイジェストを返します。
ibmcloud cr image-digests コマンドは、ダイジェストの長形式を返します。
画像を識別するためにダイジェストを使用する場合は、常にロングフォーマットを使用してください。
イメージ名は、 Repository 列と Tag 列の内容を repository:tag の形式で組み合わせたものです。
イメージをリストするコマンドがタイムアウトになった場合は、 イメージをリストするときにタイムアウトになるのはなぜですか? を参照してください。
ibmcloud cr image-list [--format FORMAT] [--quiet | -q ] [--restrict RESTRICTION] [--include-ibm] [--no-trunc] [--show-type] [--no-va] [--va] [--output json | -o json]
前提条件
必要なパーミッションの詳細については、 を使用するためのアクセス・ロール Container Registry を参照してください。
コマンド・オプション
--format FORMAT- (オプション) Go テンプレートを使用して出力要素のフォーマットを設定します。 詳細については、Container Registry CLI 出力のフォーマット設定およびフィルター操作を参照してください。
--quiet,-q- (オプション) 各イメージが、
repository:tagという形式でリストされます。 --restrict RESTRICTION- (オプション) 指定した名前空間内またはリポジトリー内のイメージのみを表示するように出力を制限します。
--include-ibm- (オプション) IBM 提供のパブリック・イメージを出力に含めます。 デフォルトではプライベート・イメージのみがリストされます。 グローバル・レジストリーにある IBM 提供のイメージのみを表示できます。
--no-trunc- (オプション) イメージ・ダイジェストを長形式で返します。
--show-type- (オプション) イメージ・マニフェスト・タイプを表示します。
--no-va- (オプション) Vulnerability Advisor セキュリティー状況の結果を出力から除外します。
ibmcloud cr image-list出力の一部としてセキュリティー状況の結果が必要ではない場合、このオプションを使用してパフォーマンスを向上させることができます。 --va- (オプション)出力に Vulnerability Advisor のセキュリティ状態の結果を含めます。 オプション
--restrict``--vaとオプションを組み合わせて使用することで、必要な情報のみを受け取ることができます。 --output json,-o json- (オプション) JSON 形式でリストを出力します。
例
--quiet を使って画像ダイジェストをフォーマット repository:tag で表示し、 --no-trunc を使って画像ダイジェストをロング・フォーマットで表示し、 birds を制限として入力することで、画像ダイジェストを切り詰めずに、 repository:tag のフォーマットで birds 名前空間の画像を表示します。
ibmcloud cr image-list --restrict birds --quiet --no-trunc
出力
例 示されたコマンドは次の出力を返します:
us.icr.io/birds/bluebird:1
ibmcloud cr image-prune-untagged
IBM Cloud Container Registry アカウントのタグなしのイメージをすべて削除します。
タグなし画像を見るには ibmcloud cr image-digests コマンドを使ってタグなし画像を表示できます。 ibmcloud cr image-prune-untagged コマンドを実行します。
ibmcloud cr image-prune-untagged [--force | -f [--output json | -o json]] --restrict RESTRICTION
前提条件
必要なパーミッションの詳細については、 を使用するためのアクセス・ロール Container Registry を参照してください。
コマンド・オプション
--force,-f- (オプション) ユーザー・プロンプトを出さずに強制的にコマンドを実行します。
--output json,-o json- (オプション) タグが付いていないイメージのクリーンアップの結果が含まれる JSON を出力します。 このオプションは、
--forceと共に使用する必要があります。 --restrict- (オプション) 指定した名前空間内またはリポジトリー内のタグが付いていないイメージのみをクリーンアップするように制限します。
例
--force オプションを使用して、ユーザープロンプトなしでコマンドを実行させ、出力に --json を、制限に birds を入力することで、ユーザープロンプトなしで birds 名前空間にあるタグなし画像をすべて削除し、結果を JSON 形式で出力します。
ibmcloud cr image-prune-untagged [--force | -f [--json]] --restrict birds
ibmcloud cr image-restore
削除されたイメージを、ごみ箱から復元します。 タグまたはダイジェストによる復元を選択できます。 ダイジェストによってリストアする場合は、ダイジェストとそのすべてのタグが同じリポジトリー内にリストアされます。
ごみ箱の中身を調べるには、ibmcloud cr trash-list コマンドを実行します。
イメージの復元時に、タグ付けされたイメージが存在するというエラーが発生した場合は、「 イメージの復元時にエラーが発生するのはなぜですか?
ダイジェストで画像をリストアしているにもかかわらず、一部のタグがリストアされない場合は、「 ダイジェストでリストアすると、すべてのタグがリストアされないのはなぜですか?
ibmcloud cr image-restore IMAGE
ibmcloud cr image-restore コマンドの使用方法について詳しくは、イメージの復元を参照してください。
前提条件
必要なパーミッションの詳細については、 を使用するためのアクセス・ロール Container Registry を参照してください。
コマンド引数
IMAGE-
ごみ箱から復元するイメージの名前。
ごみ箱の中にあるイメージの名前を調べるには、
ibmcloud cr trash-listコマンドを実行します。タグまたはダイジェストを基にしてイメージを見つけることができます。 復元するイメージは、ダイジェスト
<dns>/<namespace>/<repo>@<digest>を使用して参照できます。このダイジェストは、同じリポジトリー内のダイジェストとそのすべてのタグを復元するか、タグ<dns>/<namespace>/<repo>:<tag>によって復元します。 ここでは<dns>はドメイン名、<namespace>は名前空間、<repo>はリポジトリー、<digest>はダイジェスト、<tag>はタグです。イメージは、ごみ箱に 30 日間保管されます。
例
us.icr.io/birds/bluebird:1 をイメージとして入力し、 us.icr.io/birds/bluebird:1 イメージを復元する。
ibmcloud cr image-restore us.icr.io/birds/bluebird:1
ibmcloud cr image-rm
指定した 1 つ以上のイメージを Container Registry から削除します。 削除するイメージは、 ダイジェスト repository@digest または タグ repository:tag のいずれかによって参照できます。
リポジトリー内で同じイメージ・ダイジェストに複数のタグが存在する場合、ibmcloud cr image-rm コマンドを実行すると、基になるイメージとそのすべてのタグが削除されます。 同じイメージが別のリポジトリや名前空間に存在する場合、そのイメージのコピーは削除されません。 画像からタグを削除し、その下にある画像と他のタグがそのまま残っていることを確認したい場合は ibmcloud cr image-untag コマンドを使います。
削除したイメージを復元する場合は、ibmcloud cr trash-list コマンドを実行してごみ箱の内容をリストし、ibmcloud cr image-restore コマンドを実行して、選択したイメージを復元します。
ibmcloud cr image-rm IMAGE [IMAGE...]
前提条件
必要なパーミッションの詳細については、 を使用するためのアクセス・ロール Container Registry を参照してください。
コマンド引数
IMAGE-
削除するイメージの名前。 このコマンドに複数のイメージの名前をスペースで区切ってリストすると、複数のイメージを同時に削除できます。 ダイジェスト
<dns>/<namespace>/<repo>@<digest>またはタグ<dns>/<namespace>/<repo>:<tag>のいずれかを使用して、イメージを特定できます。 ここでは<dns>はドメイン名、<namespace>は名前空間、<repo>はリポジトリー、<digest>はダイジェスト、<tag>はタグです。イメージは、ごみ箱に 30 日間保管されます。
イメージの名前を調べるには、以下のいずれかのコマンドを実行します。
- ダイジェストでイメージを特定するには、
ibmcloud cr image-digestsコマンドを実行します。 Repository 列の内容 (repository) と Digest 列の内容 (digest) をアットマーク (@) で区切って連結し、repository@digest形式のイメージ名を作成します。 - タグでイメージを特定するには、
ibmcloud cr image-listコマンドを実行します。 Repository 列の内容 (repository) と Tag 列の内容 (tag) をコロン (:) で区切って連結し、repository:tag形式のイメージ名を作成します。 イメージ名の中にタグを指定しない場合は、latestというタグが付いたイメージがデフォルトで削除されます。
- ダイジェストでイメージを特定するには、
例
us.icr.io/birds/bluebird:1 を画像として入力し、 us.icr.io/birds/bluebird:1 の画像を削除する。
ibmcloud cr image-rm us.icr.io/birds/bluebird:1
ibmcloud cr image-tag
コマンドで指定したタグを既存のイメージに追加するか、タグを別のリポジトリーにコピーするか、タグを別の名前空間内のリポジトリーにコピーします。 タグをコピーすると、Red Hat® というそのダイジェストの署名もコピーされます。
ターゲット画像 TARGET_IMAGE は新しい画像で、ソース画像 SOURCE_IMAGE は IBM Cloud Container Registry の既存の画像です。 ソース・イメージとターゲット・イメージは、同一のリージョン内になければなりません。 タグを付けたいソース画像は、ダイジェスト repository@digest、またはタグ repository:tag のいずれかで参照できます。 ターゲット・イメージはタグで参照する必要があります。
ソース・イメージは、ダイジェスト <dns>/<namespace>/<repo>@<digest> またはタグ <dns>/<namespace>/<repo>:<tag> のいずれかを使用して特定できます。 タグ <dns>/<namespace>/<repo>:<tag> でターゲット画像を参照する必要があります。 ここでは <dns> はドメイン名、<namespace> は名前空間、<repo> はリポジトリー、<digest> はダイジェスト、<tag> はタグです。
イメージの名前を調べるには、以下のいずれかの選択肢を使用します。
- ダイジェストでイメージを特定するには、
ibmcloud cr image-digestsコマンドを実行します。 Repository 列の内容 (repository) と Digest 列の内容 (digest) をアットマーク (@) で区切って連結し、repository@digest形式のイメージ名を作成します。 - タグでイメージを特定するには、
ibmcloud cr image-listコマンドを実行します。 Repository 列の内容 (repository) と Tag 列の内容 (tag) をコロン (:) で区切って連結し、repository:tag形式のイメージ名を作成します。
イメージにタグを付けようとしたときにマニフェスト・エラーが表示される場合は、以下のトピックが参考になる可能性があります。
ibmcloud cr image-tag [SOURCE_IMAGE] [TARGET_IMAGE]
前提条件
必要なパーミッションの詳細については、 を使用するためのアクセス・ロール Container Registry を参照してください。
コマンド引数
SOURCE_IMAGE- ソース・イメージの名前。 ソース・イメージは、ダイジェスト
<dns>/<namespace>/<repo>@<digest>またはタグ<dns>/<namespace>/<repo>:<tag>のいずれかを使用して特定できます。 ここでは<dns>はドメイン名、<namespace>は名前空間、<repo>はリポジトリー、<digest>はダイジェスト、<tag>はタグです。 TARGET_IMAGE- ターゲット・イメージの名前。
TARGET_IMAGEはrepository:tagという形式 (例:us.icr.io/namespace/image:latest) にする必要があります。
例
ソース画像として us.icr.io/birds/bluebird:1 を、ターゲット画像として us.icr.io/birds/bluebird:latest を入力して、画像 us.icr.io/birds/bluebird:1 に別のタグ参照 latest を追加します。
ibmcloud cr image-tag us.icr.io/birds/bluebird:1 us.icr.io/birds/bluebird:latest
ソース・イメージとして us.icr.io/birds/bluebird:peck を、ターゲット・イメージとして us.icr.io/birds/pigeon:peck を入力して、同じネームスペース birds/pigeon 内の別のリポジトリにイメージ us.icr.io/birds/bluebird:peck をコピーします。
ibmcloud cr image-tag us.icr.io/birds/bluebird:peck us.icr.io/birds/pigeon:peck
ソース・イメージとして us.icr.io/birds/bluebird:peck を、ターゲット・イメージとして us.icr.io/animals/dog:bark を入力し、 us.icr.io/birds/bluebird:peck イメージを、アクセス可能な別のネームスペース(この例では animals ネームスペース)にコピーします。
ibmcloud cr image-tag us.icr.io/birds/bluebird:peck us.icr.io/animals/dog:bark
ibmcloud cr image-untag
1 つまたは複数のタグ を IBM Cloud Container Registry 内の指定された各イメージから削除します。
画像から特定のタグを削除し、その下にある画像と他のタグがそのまま残っていることを確認するには、 ibmcloud cr image-untag コマンドを使用します。 基になるイメージとそのすべてのタグを削除する場合は、代わりに ibmcloud cr image-rm コマンドを使用します。
ibmcloud cr image-untag IMAGE [IMAGE...]
前提条件
必要なパーミッションの詳細については、 を使用するためのアクセス・ロール Container Registry を参照してください。
コマンド引数
IMAGE-
タグを削除するイメージの名前。 このコマンドに複数のイメージの名前をスペースで区切ってリストすると、複数のイメージからタグを同時に削除できます。
IMAGEは、repository:tagという形式 (例:us.icr.io/namespace/image:latest) にする必要があります。イメージの名前を調べるには、
ibmcloud cr image-listを実行します。 Repository 列の内容 (repository) と Tag 列の内容 (tag) をコロン (:) で区切って連結し、repository:tag形式のイメージ名を作成します。 イメージ名の中にタグを指定しないと、コマンドが失敗します。
例
us.icr.io/birds/bluebird:1 を画像として入力し、 us.icr.io/birds/bluebird:1 画像からタグ 1 を削除する。
ibmcloud cr image-untag us.icr.io/birds/bluebird:1
ibmcloud cr info
ログインしているレジストリーの名前とアカウントを表示します。
ibmcloud cr info
例
レジストリの名前とアカウントを検索する。
ibmcloud cr info
出力
例 示されたコマンドは次の出力を返します:
Plugin version 1.3.16
Container Registry us.icr.io
Container Registry API endpoint https://us.icr.io/api
IBM Cloud API endpoint https://cloud.ibm.com
IBM Cloud account details X's Account (1100110011001100)
OK
ibmcloud cr login
ローカル Docker または Podman クライアントを IBM Cloud Container Registry にログインさせます。
このコマンドは、レジストリーに対して push コマンドまたは pull コマンドを実行する場合に必要です。 他の ibmcloud cr コマンドを実行する場合は、Container Registry にログインする必要はありません。
ibmcloud cr login [--client CLIENT]
Container Registry は、Docker および Podman と同様に、他のクライアントもサポートします。 他のクライアントを使用してログインするには、対話式に名前空間にアクセスするを参照してください。
ログイン時に問題が発生した場合は、 「Container Registry にログインできないのはなぜですか? 」を参照してください。Mac を使用していてログイン macOS 時に問題が発生した場合は、「Mac で Docker のログインが失敗するのはなぜですか?」 を参照してください。
ibmcloud cr login コマンドを使用した Container Registry へのログインは、IAM ログイン・セッション制限の対象になります。 ログインの有効期限が切れた場合は、Container Registry ログインの有効期限が切れたままになっているのはなぜですか? を参照してください。
コマンド・オプション
-- client- (オプション) ログインするクライアントを選択します。 有効な値は
dockerおよびpodmanです。 このオプションが使用されず、Docker がインストールされている場合、デフォルトはdockerです。Docker がインストールされていない場合、デフォルトはpodmanです。
例
Podman を使ってレジストリにログインするには、クライアントとして podman と入力する。
ibmcloud cr login --client podman
ibmcloud cr manifest-inspect
イメージのマニフェストの内容を表示します。 検査するイメージは、 ダイジェスト repository@digest または タグ repository:tag のいずれかによって参照できます。
ibmcloud cr manifest-inspect [--quiet | -q ] IMAGE
前提条件
必要なパーミッションの詳細については、 を使用するためのアクセス・ロール Container Registry を参照してください。
コマンド引数
IMAGE-
マニフェストを検査する対象となるイメージの名前。 ダイジェスト
<dns>/<namespace>/<repo>@<digest>またはタグ<dns>/<namespace>/<repo>:<tag>のいずれかを使用して、イメージを特定できます。 ここでは<dns>はドメイン名、<namespace>は名前空間、<repo>はリポジトリー、<digest>はダイジェスト、<tag>はタグです。イメージの名前を調べるには、以下のいずれかのコマンドを実行します。
- ダイジェストでイメージを特定するには、
ibmcloud cr image-digestsコマンドを実行します。 Repository 列の内容 (repository) と Digest 列の内容 (digest) をアットマーク (@) で区切って連結し、repository@digest形式のイメージ名を作成します。 - タグでイメージを特定するには、
ibmcloud cr image-listコマンドを実行します。 Repository 列の内容 (repository) と Tag 列の内容 (tag) をコロン (:) で区切って連結し、repository:tag形式のイメージ名を作成します。
- ダイジェストでイメージを特定するには、
コマンド・オプション
--quiet,-q- (オプション) 出力を削減して、重要な要素のみを表示します。
例
イメージとして us.icr.io/birds/bluebird:1 を入力して、 us.icr.io/birds/bluebird:1 イメージのマニフェストの内容を表示します。
ibmcloud cr manifest-inspect us.icr.io/birds/bluebird:1
ibmcloud cr namespace-add
ネームスペースのイメージをレジストリーに保管するリポジトリーのコレクション。 名前空間は、複数の名前空間を含めることができる IBM Cloud アカウントに関連付けられます。名前を決め、 IBM Cloud アカウント追加します。
以下のオプションのいずれかを使用して、任意の リソース・含まれているリソース・インスタンスが従う環境および制約。 ユーザーをリソース・グループに関連付けることで、コラボレーションを有効にできます。 グループにネームスペースを作成できます。
- 名前空間を作成する前に、
ibmcloud target -g RESOURCE_GROUPコマンドを実行します。ここで、RESOURCE_GROUPはリソース・グループです。 -gコマンドにibmcloud cr namespace-addオプションを使用して、必要なリソース・グループを指定します。
リソース・グループに名前空間を作成すると、名前空間のリソースへのアクセス権限をリソース・グループ レベルで構成できます。 ただし、アカウント・レベルまたは名前空間自体でも引き続き名前空間の許可を設定することができます。 リソース・グループを指定せず、リソース・グループをターゲットにしない場合は、デフォルトのリソース・グループが使用されます。
リソース・グループに含まれていない古い名前空間がある場合は、それをリソース・グループに割り当てることができます。 ibmcloud cr namespace-assign を参照してください。
リソース・グループに割り当てられた名前空間は、IBM Cloud コンソールの 「リソース・リスト」 ページに表示されます。
ibmcloud cr namespace-add [-g (RESOURCE_GROUP_NAME | RESOURCE_GROUP_ID)] NAMESPACE
リソース・グループについて詳しくは、リソース・グループの作成を参照してください。
名前空間を追加しようとしたときに問題が発生した場合は、 名前空間を追加できないのはなぜですか? を参照してください。
前提条件
必要な権限の詳細については、 プラットフォーム管理ロール および Container Registry を設定するためのアクセス・ロールを 参照してください。
コマンド引数
NAMESPACE-
追加する名前空間。 名前空間は、同じリージョン内のすべての IBM Cloud アカウントにわたって固有である必要があります。 名前空間は 4 文字から 30 文字までで、含めることができるのは、小文字、数字、ハイフン (-)、下線 (_) のみです。 名前空間は、文字または数値で開始および終了する必要があります。
名前空間名に個人情報を含めないでください。
コマンド・オプション
-g (RESOURCE_GROUP_NAME | RESOURCE_GROUP_ID)- (オプション) 名前空間の追加先となるリソース・グループの名前または ID を指定します。 このオプションを設定しない場合は、ターゲット指定されたリソース・グループが使用されます。 このオプションを設定せず、リソース・グループがターゲット指定されていない場合は、アカウントのデフォルトのリソース・グループが使用されます。
例
birds2 」という名前でネームスペースを作成し、リソース・グループ名として「 beaks 」、ネームスペースとして「 birds2 」を入力して、リソース・グループ「 beaks 」に追加します。
ibmcloud cr namespace-add -g beaks birds2
出力
例 示されたコマンドは次の出力を返します:
Adding namespace 'birds2' in resource group 'beaks' for account X's Account in registry us.icr.io...
Successfully added namespace 'birds2'
OK
ibmcloud cr namespace-assign
Container Registry CLI のバージョン 0.1.484 またはそれ以前で作成された名前空間、あるいは 2020 年 7 月 29 日以前に IBM Cloud コンソールで作成された名前空間は、リソース・グループには割り当てられません。 割り当てられていない名前空間は、IBM Cloud アカウントのリソース・グループに割り当てることができます。 リソース・グループに名前空間を割り当てると、名前空間のリソースへのアクセス権限をリソース・グループ レベルで構成できます。 リソース・グループを指定せず、リソース・グループがターゲットになっていない場合、コマンドは失敗します。
名前空間をリソース・グループに割り当てることができるのは、1 度だけです。 リソース・グループにある名前空間を別のリソース・グループに移動させることはできません。
どの名前空間がリソース・グループに割り当てられていて、どの名前空間が割り当てられていないかを調べるには、ibmcloud cr namespace-list コマンドに -v オプションを付けて実行します。 リソース・グループに割り当てられた名前空間も、IBM Cloud コンソールの リソース・リスト ページに表示されます。
ibmcloud cr namespace-assign -g (RESOURCE_GROUP_NAME | RESOURCE_GROUP_ID) NAMESPACE
リソース・グループについて詳しくは、リソース・グループの作成を参照してください。
前提条件
必要な権限の詳細については、 プラットフォーム管理ロール および Container Registry を設定するためのアクセス・ロールを 参照してください。
コマンド引数
NAMESPACE- リソース・グループに割り当てる名前空間。
コマンド・オプション
-g (RESOURCE_GROUP_NAME | RESOURCE_GROUP_ID)- (オプション) 名前空間の割り当て先となるリソース・グループの名前または ID を指定します。 このオプションを設定しない場合は、ターゲット指定されたリソース・グループが使用されます。
例
リソース・グループ名として beaks 、名前空間として birds を入力して、リソース・グループ beaks に名前 birds の名前空間を割り当てます。
ibmcloud cr namespace-assign -g beaks birds
出力
例 示されたコマンドは次の出力を返します:
Assigning namespace 'birds' to resource group 'beaks' for account X's Account in registry us.icr.io...
Successfully assigned namespace 'birds' to resource group 'beaks.'
OK
ibmcloud cr namespace-list (ibmcloud cr namespaces)
通称: namespaces
IBM Cloud アカウントによって所有されているすべての名前空間を表示します。 このコマンドを使用して名前空間をリストし、どの名前空間がリソース・グループに割り当てられており、どの名前空間が割り当てられていないかを確認することができます。 リソース・グループに割り当てられた名前空間も、IBM Cloud コンソールの 「リソース・リスト」 ページに表示されます。
ibmcloud cr namespace-list [--verbose | -v] [--output json | -o json]
前提条件
必要なパーミッションの詳細については、 を使用するためのアクセス・ロール Container Registry を参照してください。
コマンド・オプション
--verbose,-v- (オプション) すべての名前空間をリストし、リソース・グループと名前空間の作成日に関する情報を含めます。
--output json,-o json- (オプション) JSON 形式でリストを出力します。
例
--verbose オプションを使用して、リソースグループや作成日付に関する情報を含む、すべてのネームスペースのリストを表示します。
ibmcloud cr namespace-list -v
出力
例 示されたコマンドは次の出力を返します:
Listing namespaces for account 'X's Account' in registry 'us.icr.io'...
Namespace Resource Group Created
birds default 1 year ago
birds2 beaks 40 seconds ago
OK
ibmcloud cr namespace-rm
IBM Cloud アカウントから名前空間を削除します。 名前空間を削除すると、この名前空間内のイメージが削除されます。
ibmcloud cr namespace-rm NAMESPACE [--force | -f]
前提条件
必要なパーミッションの詳細については、 設定用アクセス・ロール Container Registry を参照してください。
コマンド引数
NAMESPACE- 削除する名前空間。
コマンド・オプション
--force,-f- (オプション) ユーザー・プロンプトを出さずに強制的にコマンドを実行します。
例
名前空間として birds を入力して、 birds 名前空間を削除する。
ibmcloud cr namespace-rm birds
ibmcloud cr plan
ターゲットにしているレジストリー・リージョンの価格プランを表示します。
ibmcloud cr plan [--output json | -o json]
前提条件
必要なパーミッションの詳細については、 設定用アクセス・ロール Container Registry を参照してください。
コマンド・オプション
--output json,-o json- (オプション) JSON 形式でリストを出力します。
例
出力に json を入力して、料金プランをJSON形式で出力します。
ibmcloud cr plan -o json
出力
例 示されたコマンドは次の出力を返します:
{
"plan": "Free"
}
ibmcloud cr plan-upgrade
ターゲットにしているレジストリー・リージョンの標準プランにアップグレードします。
ibmcloud cr plan-upgrade [PLAN]
プランについて詳しくは、レジストリー・プランを参照してください。
前提条件
必要なパーミッションの詳細については、 設定用アクセス・ロール Container Registry を参照してください。
コマンド引数
PLAN- (オプション) アップグレード先の価格プランの名前。
PLANを指定しない場合、デフォルトはstandardです。
例
標準料金プランにアップグレードするには、プランに standard と入力してください。
ibmcloud cr plan-upgrade standard
ibmcloud cr platform-metrics
このコマンドを使用して、プラットフォーム・メトリックを有効にしたり無効にしたりすることができます。 これを使用して、ターゲットにするレジストリー領域用にプラットフォーム・メトリックがアカウントにセットアップされているかどうかを確認することもできます。
IBM Cloud Container Registry のプラットフォーム・メトリックを表示するには、ibmcloud cr platform-metrics コマンドを実行してオプトインする必要があります。
いずれかのコマンド・オプションを指定する必要があります。指定しない場合、コマンドがエラーで失敗します。
ibmcloud cr platform-metrics --enable | --disable | --status
Container Registry で表示可能なプラットフォーム・メトリックについて詳しくは、IBM Cloud Container Registry のメトリックのモニターを参照してください。
前提条件
- IBM Cloud Monitoring をセットアップする必要があります。IBM Cloud Monitoring 入門チュートリアルを参照してください。
- プラットフォーム・メトリクスの IBM Cloud Monitoring インスタンスを有効にします。
- 必要なパーミッションの詳細については、 設定用アクセス・ロール Container Registry を参照してください。
コマンド・オプション
--enable- (オプション) アカウントの設定を有効にします。
--disable- (オプション) アカウントの設定を無効にします。
--status- (オプション) ご使用のアカウントで設定が有効になっているかどうかを表示します。
例
--enable オプションを使用して、アカウントのプラットフォーム・メトリクスを有効にします。
ibmcloud cr platform-metrics --enable
出力
例 示されたコマンドは次の出力を返します:
OK
ibmcloud cr private-only
ターゲットとするレジストリー・リージョンのご使用のアカウントで、パブリック・ネットワーク接続においてイメージがプルまたはプッシュされるのを禁止します。 いずれかのコマンド・オプションを指定する必要があります。指定しない場合、コマンドがエラーで失敗します。
ibmcloud cr private-only --enable | --disable | --status
前提条件
必要なパーミッションの詳細については、 設定用アクセス・ロール Container Registry を参照してください。
コマンド・オプション
--enable- (オプション) ご使用のアカウントでのパブリック・ネットワーク接続におけるイメージのプルまたはプッシュを禁止します。
--disable- (オプション) ご使用のアカウントでのパブリック・ネットワーク接続におけるイメージのプルまたはプッシュを復元します。
--status- (オプション) ご使用のアカウントでのイメージのプッシュまたはプルについて、パブリック接続の使用が禁止されているかどうかを確認します。
例
--enable オプションを使用して、アカウントのパブリックネットワーク接続経由でのイメージのプルまたはプッシュを防止します。
ibmcloud cr private-only --enable
ibmcloud cr quota
トラフィックとストレージのクォータを表示し、対象となるレジストリ・リージョンのクォータに対する使用情報を表示します。
ibmcloud cr quota [--output json | -o json]
前提条件
必要なパーミッションの詳細については、 設定用アクセス・ロール Container Registry を参照してください。
コマンド・オプション
--output json,-o json- (オプション) JSON 形式でリストを出力します。
例
出力オプションに json を入力すると、トラフィックとストレージクォータをJSON形式で表示します。
ibmcloud cr quota -o json
出力
例 示されたコマンドは次の出力を返します:
{
"usage": {
"traffic": 0,
"store": 0
},
"limit": {
"traffic": 5368709120,
"store": 536870912
}
}
ibmcloud cr quota-set
ターゲットにしているレジストリー・リージョンの指定された割り当て量を変更します。
ibmcloud cr quota-set [--traffic TRAFFIC] [--storage STORAGE]
前提条件
必要なパーミッションの詳細については、 設定用アクセス・ロール Container Registry を参照してください。
コマンド・オプション
--traffic TRAFFIC- (オプション) トラフィック割り当て量を、指定した値 (M バイト単位) に変更します。 トラフィックを設定する権限がない場合や現在の価格プランを超える値を設定した場合、操作は失敗します。
--storage STORAGE- (オプション) ストレージ割り当て量を、指定した値 (M バイト単位) に変更します。 ストレージ割り当て量を設定する権限がない場合や現在の価格プランを超える値を設定した場合、操作は失敗します。
例
トラフィックのクォータとして 7000 、ストレージのクォータとして 600 、プルトラフィックのクォータ制限を7000メガバイト、ストレージのクォータ制限を600メガバイトに設定します。
ibmcloud cr quota-set --traffic 7000 --storage 600
出力
例 示されたコマンドは次の出力を返します:
Setting quotas: 'storage: 600 , traffic: 7000'...
OK
ibmcloud cr region
ターゲットのリージョンとレジストリーを表示します。 詳細については、リージョンを参照してください。
ibmcloud cr region
例
どの地域とレジストリをターゲットにしているかを確認する。
ibmcloud cr region
出力
例 示されたコマンドは次の出力を返します:
You are targeting region 'us-south', the registry is 'us.icr.io'.
OK
ibmcloud cr region-set
IBM Cloud Container Registry コマンドのターゲット・リージョンを設定します。 使用可能なリージョンをリストするには、オプションなしでコマンドを実行します。 詳細については、リージョンを参照してください。
ibmcloud cr region-set [REGION]
コマンド引数
REGION- (オプション) 対象地域の名前、例えば
us-south。 詳しくは、リージョンを参照してください。
例
地域に us-south を入力して、ダラス地域をターゲットにする。
ibmcloud cr region-set us-south
出力
例 示されたコマンドは次の出力を返します:
The region is set to 'us-south', the registry is 'us.icr.io'.
OK
ibmcloud cr retention-policy-list
アカウントのイメージ保持ポリシーをリストします。 イメージ保存ポリシーによって、IBM Cloud Container Registry の名前空間のリポジトリーごとに、指定された数のイメージが保存されます。 その名前空間の他のイメージはすべて削除されます。 タグの外されたすべてのイメージを保持するオプションがポリシーに適用されているかどうかも確認できます。
リポジトリー内の 1 つのイメージが複数のタグで参照されていても、そのイメージは 1 回しかカウントされません。 最新のイメージが保持されます。 経過時間は、イメージがレジストリーにプッシュされた時刻ではなくイメージ作成時刻によって決定されます。
ibmcloud cr retention-policy-list [--output json | -o json]
ibmcloud cr retention-policy-list コマンドの使用方法について詳しくは、イメージの保持を参照してください。
前提条件
必要なパーミッションの詳細については、 を使用するためのアクセス・ロール Container Registry を参照してください。
コマンド・オプション
--output json,-o json- (オプション) JSON 形式でリストを出力します。
例
出力として json を入力することで、アカウント内の保持ポリシーをJSON形式で一覧表示します。
ibmcloud cr retention-policy-list -o json
出力
例 示されたコマンドは次の出力を返します:
{
"birds": {
"namespace": "birds",
"account": "",
"images_per_repo": -1,
"retain_untagged": true
},
"birds2": {
"namespace": "birds2",
"account": "",
"images_per_repo": -1,
"retain_untagged": true
}
}
ibmcloud cr retention-policy-set
IBM Cloud Container Registry の名前空間のリポジトリーごとに、指定された数のイメージを保存するポリシーを設定します。 その名前空間の他のイメージはすべて削除されます。 ポリシーは、設定時には対話的に実行され、その後は毎日実行されます。 設定できるポリシーは、名前空間ごとに 1 つだけです。
タグの外されたすべてのイメージを、保持することを決定したイメージの合計数から除外するかどうかを選択できます。
リポジトリー内で 1 つのイメージが複数のタグによって参照されている場合、そのイメージは 1 回のみカウントされます。 最新のイメージが保持されます。 経過時間は、イメージがレジストリーにプッシュされた時刻ではなくイメージ作成時刻によって決定されます。
保持したいイメージが保持ポリシーによって削除された場合は、そのイメージを復元することができます。 イメージを見つけるために、ibmcloud cr trash-list コマンドを実行してごみ箱の内容をリストし、ibmcloud cr image-restore コマンドを実行して、選択したイメージを復元します。
保持ポリシーをキャンセルする場合は、すべてのイメージを保持するように保持ポリシーを更新を参照してください。
ibmcloud cr retention-policy-set [--retain-untagged] [--force | -f] --images IMAGE_COUNT NAMESPACE
ibmcloud cr retention-policy-set コマンドの使用方法について詳しくは、イメージの保持を参照してください。
前提条件
必要なパーミッションの詳細については、 を使用するためのアクセス・ロール Container Registry を参照してください。
コマンド引数
NAMESPACE- ポリシーを作成する名前空間。
コマンド・オプション
--retain-untagged- (オプション) 保持ポリシーが処理されているときに、タグの外されたすべてのイメージを保持します。 タグ付けされたイメージのみが分析され、基準を満たしていない場合は削除されます。 このオプションが指定されていない場合、タグ付けされたイメージとタグの外されたイメージがすべて分析され、基準を満たしていない場合は削除されます。
--force,-f- (オプション) ユーザー・プロンプトを出さずに強制的にコマンドを実行します。
--images- 指定された名前空間内の各リポジトリーの中にどれだけの数のイメージを保持するかを決定します。 最新のイメージが保持されます。 イメージの経過時間は、そのビルドの日付によって決まります。
IMAGE_COUNTは、その名前空間でリポジトリーごとに保持するイメージ数です。 すべての画像をIMAGE_COUNTAllに設定したまま、ポリシーをデフォルトの状態に戻すには。
例 1
保持するイメージの数として 20 を、名前空間として birds を入力して、 birds 名前空間の各リポジトリ内の最新の 20 イメージを保持するポリシーを設定します。 タグ付け済みおよび未タグ付けの画像をすべて分析し、基準を満たさない画像は削除される。
ibmcloud cr retention-policy-set --images 20 birds
例1の出力
例1 のコマンドは次の出力を返します:
Found n images to delete.
OK
A scheduled retention policy is set that keeps 20 images in each repository in birds and retain-untagged is set to false.
OK
例 2
保持する画像の数として All を、名前空間として birds を入力して、すべての画像を birds 名前空間に保持するように、ポリシーをデフォルトの状態に戻します。
ibmcloud cr retention-policy-set --images All birds
例2の出力
例2 のコマンドは次の出力を返します:
The retention policy to keep all images in birds is set.
OK
ibmcloud cr retention-run
IBM Cloud Container Registry の名前空間のリポジトリーごとに、指定された数のイメージを保存することで名前空間をクリーンアップします。 その名前空間の他のイメージはすべて削除されます。
タグの外されたすべてのイメージを、保持することを決定したイメージの合計数から除外するかどうかを選択できます。
リポジトリー内で 1 つのイメージが複数のタグによって参照されている場合、そのイメージは 1 回のみカウントされます。 最新のイメージが保持されます。 経過時間は、イメージがレジストリーにプッシュされた時刻ではなくイメージ作成時刻によって決定されます。
削除したイメージを復元する場合は、ibmcloud cr trash-list コマンドを実行してごみ箱の内容をリストし、ibmcloud cr image-restore コマンドを実行して、選択したイメージを復元します。
生成されたリストに、表示されるはずのイメージが表示されない場合は、retention コマンドで一部のイメージが表示されないのはなぜですか? を参考にしてください。
ibmcloud cr retention-run [--force | -f [--output json | -o json]] [--retain-untagged] --images IMAGE_COUNT NAMESPACE
ibmcloud cr retention-run コマンドの使用方法について詳しくは、イメージの保持を参照してください。
前提条件
必要なパーミッションの詳細については、 を使用するためのアクセス・ロール Container Registry を参照してください。
コマンド引数
NAMESPACE- クリーンアップする名前空間。
コマンド・オプション
--force,-f- (オプション) ユーザー・プロンプトを出さずに強制的にコマンドを実行します。
--output json,-o json- (オプション) 名前空間クリーンアップの結果が含まれる JSON を出力します。 このオプションは、
--forceと共に使用する必要があります。 --retain-untagged- (オプション) 保持ポリシーが処理されているときに、タグの外されたすべてのイメージを保持します。 タグ付けされたイメージのみが分析され、基準を満たしていない場合は削除されます。 このオプションが指定されていない場合、タグ付けされたイメージとタグの外されたイメージがすべて分析され、基準を満たしていない場合は削除されます。
--images- 指定された名前空間内の各リポジトリーの中にどれだけの数のイメージを保持するかを決定します。 最新のイメージが保持されます。 イメージの経過時間は、そのビルドの日付によって決まります。
IMAGE_COUNTは、その名前空間でリポジトリーごとに保持するイメージ数です。
例
保持する画像の数として 20 を、名前空間として birds を入力し、各リポジトリ内の最新の 20 画像を birds 名前空間に保持します。
ibmcloud cr retention-run --images 20 birds
出力
例 示されたコマンドは次の出力を返します:
Retrieving images to delete from namespace 'birds' in registry us.icr.io'...
Found n images to delete.
OK
ibmcloud cr trash-list
IBM Cloud アカウントのごみ箱にあるすべてのイメージを表示します。 ゴミ箱から画像が削除されるまでの残り日数も表示されます。 削除されるまでの残り日数は切り上げられます。 例えば、削除されるまでの残り時間が 2 時間の場合は 1 日と表示されます。 イメージはライブ・リポジトリーから削除された後、30 日間ごみ箱に保持されます。
ごみ箱の中のイメージを復元する場合は、ibmcloud cr image-restore コマンドを実行します (イメージの復元を参照)。
ibmcloud cr trash-list [--restrict NAMESPACE] [--output json | -o json]
前提条件
必要なパーミッションの詳細については、 を使用するためのアクセス・ロール Container Registry を参照してください。
コマンド・オプション
--restrict NAMESPACE- (オプション) 指定した名前空間のイメージだけを表示するように出力を制限します。
--output json,-o json- (オプション) ごみ箱の内容の詳細が含まれた JSON を出力します。
例
birds を制限として入力し、 birds 名前空間のゴミ箱にある画像を表示する。
ibmcloud cr trash-list --restrict birds
出力
例 示されたコマンドは次の出力を返します:
Listing the contents of the trash...
Digest Days until expiry Tags
110011 24 1
OK
ibmcloud cr va-version
使用している Vulnerability Advisor のバージョンを確認します。 バージョン 4 のみが有効なバージョンです。
ibmcloud cr va-version
例
使用している Vulnerability Advisor のバージョンを確認します。
ibmcloud cr va-version
出力
例 示されたコマンドは次の出力を返します:
You are targeting Vulnerability Advisor version 'v4'.
OK
ibmcloud cr va-version-set
Vulnerability Advisor のバージョンを設定する。 有効な値は v4 だけです。
無効なバージョンの Vulnerability Advisor を設定しようとするとエラーが発生します。詳細は「 Vulnerability Advisor の無効なバージョンが指定されたというエラーが表示されるのはなぜですか?」 を参照してください。
ibmcloud cr va-version-set VERSION
コマンド引数
VERSION- 使用したい Vulnerability Advisor のバージョン。 有効な値は
v4だけです。
例
バージョンに v4 を入力して、 Vulnerability Advisor のバージョンをバージョン4に設定する:
ibmcloud cr va-version-set v4
出力
例 示されたコマンドは次の出力を返します:
You are targeting Vulnerability Advisor version 'v4'.
OK
ibmcloud cr vulnerability-assessment (ibmcloud cr va)
通称: va
イメージの脆弱性評価レポートを表示します。
ibmcloud cr vulnerability-assessment [--extended | -e] [--vulnerabilities | -v] [--output FORMAT | -o FORMAT] IMAGE [IMAGE...]
前提条件
必要なパーミッションの詳細については、 を使用するためのアクセス・ロール Container Registry を参照してください。
コマンド引数
IMAGE-
レポートを取得するイメージの名前。 このレポートから、既知のパッケージの脆弱性がイメージにあるかどうかがわかります。 このコマンドに複数のイメージの名前をスペースで区切ってリストすると、複数のイメージについてのレポートを同時に要求できます。
イメージの名前を調べるには、
ibmcloud cr image-listを実行します。 Repository 列の内容 (repository) と Tag 列の内容 (tag) をコロン (:) で区切って連結し、repository:tag形式のイメージ名を作成します。 イメージ名の中にタグを指定しない場合は、latestというタグが付いたイメージを評価したレポートになります。サポートされる Docker ベース・イメージについて詳しくは、 脆弱パッケージ を参照してください。
詳細については、Vulnerability Advisor によるイメージ・セキュリティーの管理を参照してください。
コマンド・オプション
--extended,-e-
(オプション) 脆弱なパッケージのフィックスについての追加情報をコマンド出力に表示します。
--vulnerabilities,-v-
(オプション) 脆弱性のみを表示するようにコマンド出力を制限します。
--output FORMAT,-o FORMAT-
(オプション) 選択した形式でコマンド出力が返されます。 デフォルトの形式は
textです。以下の形式がサポートされています。
textjson
例
イメージとして us.icr.io/birds/bluebird:1 を入力して、 us.icr.io/birds/bluebird:1 イメージの標準脆弱性評価レポートを表示する。
ibmcloud cr vulnerability-assessment us.icr.io/birds/bluebird:1
-- vulnerabilities オプションを使用し、出力形式として json を、画像として us.icr.io/birds/bluebird:1 を入力することで、 us.icr.io/birds/bluebird:1 画像の脆弱性を JSON 形式で示す脆弱性評価レポートを表示します。
ibmcloud cr vulnerability-assessment --vulnerabilities --output json us.icr.io/birds/bluebird:1