動的レジストリー参照の使用
VPC の IBM Cloud Hyper Protect Virtual Servers は非推奨。 2026年2月28日現在、新しいインスタンスを作成することはできません。 既存のインスタンスは2027年2月20日までサポートされる。 その日付にまだ存在するインスタンスはすべて削除されます。 IBM Confidential Computing Container Runtime(旧称: Hyper Protect Virtual Servers )または IBM Confidential Computing Container Runtime for Red Hat Virtualization Solutions(旧称:Hyper Protect Container Runtime for Red Hat Virtualization Solutions )を使用して、ワークロードを再デプロイできます。 データ移行については、 移行ガイドを 参照してください。 詳しくは、 サービス廃止のお知らせを ご覧ください。
このチュートリアルに従って、 契約 内で動的レジストリ参照を使用する方法を学ぶことができます。
明示的レジストリー参照
通常、docker レジストリは、compose ファイル内の完全な docker URL から参照される。 以下の例を参照してください。
services:
helloworld:
image: docker.io/library/hello-world@sha256:53f1bbee2f52c39e41682ee1d388285290c5c8a76cc92b42687eecf38e0af3f0
この例では、 docker.io/library/ はレジストリー接頭部、 hello-world はそのレジストリー内の OCI イメージの ID、 sha256:53f1bbee2f52c39e41682ee1d388285290c5c8a76cc92b42687eecf38e0af3f0 はそのイメージのバージョンの固有 ID です。
このような場合、ワークロードプロバイダーロールがレジストリ(および関連するプル認証情報)を決定します。レジストリ参照とプル認証情報の両方が契約のワークロードセクションの一部であるためです。
動的レジストリー参照
特定のユースケースでは、ワークロードセクションが事前暗号化されている場合、レジストリは不明である。 たとえば、ワークロードプロバイダーがデプロイヤーにレジストリミラーやプライベートコンテナレジストリの使用を許可したい場合などです。
その場合、レジストリとプル認証情報を動的に上書きすることが可能です。 この取り組みは、ワークロード提供者とデプロイ担当者の間で調整されなければならない。
テンプレート方式は、 コンポーズ ベースのワークロードに対してのみ有効であり、ダイジェストを介して参照されるイメージに対してのみ有効です。 DCTベースのワークロードはサポートされていません。
ワークロード・プロバイダー
ワークロード・プロバイダーは、docker compose ファイルで置換変数を使用して、レジストリーを動的としてマークします。
services:
helloworld:
image: ${REGISTRY}/hpse-docker-hello-world-s390x@sha256:43c500c5f85fc450060b804851992314778e35cadff03cb63042f593687b7347
イメージのダイジェストはレジストリ間で同一であるため、ワークロードプロバイダーは使用するレジストリに関係なく、キーを設定することでイメージの特定バージョンをロックダウンできる。 Compose ファイルでのトークンの使用は、 Compose 仕様のネイティブ機能です。
これで、ワークロード・プロバイダーは、そのレジストリーのプル・シークレットを指定 せずに 、ワークロード・セクションを準備 (暗号化) できます。
デプロイヤー
デプロイ担当者は、レジストリおよび関連するプルシークレットに関する不足している情報を入力します。
レジストリーは環境変数として設定されます。 デプロイヤーとワークロードプロバイダーの両方が、環境全体に対して構成要素を提供でき、これらの構成要素はワークロードが優先される形で重ね合わされる。
プルクレデンシャルは、契約書の環境セクション( auth )を通して渡される。 環境変数と同様に、これらの auth セクションはワークロードセクションが優先される形で上書きされます。
---
---
env:
type: env
auths:
de.icr.io:
username: xxx
password: yyy
env:
REGISTRY: de.icr.io