동적 레지스트리 참조 사용

VPC용 IBM Cloud Hyper Protect Virtual Servers 은 더 이상 사용되지 않습니다. 2026년 2월 28일부터는 새 인스턴스를 만들 수 없습니다. 기존 인스턴스는 2027년 2월 20일까지 지원됩니다. 해당 날짜에 여전히 존재하는 모든 인스턴스는 삭제됩니다. IBM 기밀 컴퓨팅 컨테이너 런타임(이전의 Hyper Protect Virtual Servers ) 또는 IBM 기밀 컴퓨팅 컨테이너 런타임 for Red Hat 가상화 솔루션(이전의 Red Hat 가상화 솔루션용 Hyper Protect 컨테이너 런타임 )을 사용하여 워크로드를 재배치할 수 있습니다. 데이터 마이그레이션에 대한 자세한 내용은 마이그레이션 가이드를 참조하세요. 자세한 내용은 서비스 사용 중단 공지를 참조하세요.

이 튜토리얼을 따라 계약 에서 동적 레지스트리 참조를 사용하는 방법을 배울 수 있습니다.

명시적 레지스트리 참조

일반적으로 도커 레지스트리는 작성 파일에서 전체 도커 URL 를 통해 참조됩니다. 다음 예를 참조하십시오.

services:
  helloworld:
    image: docker.io/library/hello-world@sha256:53f1bbee2f52c39e41682ee1d388285290c5c8a76cc92b42687eecf38e0af3f0

예에서 docker.io/library/ 는 레지스트리 접두부이고, hello-world 는 해당 레지스트리에 있는 OCI 이미지의 ID이며, sha256:53f1bbee2f52c39e41682ee1d388285290c5c8a76cc92b42687eecf38e0af3f0 는 이미지 버전의 고유 ID입니다.

이러한 경우, 워크로드 제공자 역할이 레지스트리(및 관련 풀 자격 증명)에 대한 결정을 내립니다. 레지스트리 참조와 풀 자격 증명이 모두 계약의 워크로드 섹션에 포함되기 때문입니다.

동적 레지스트리 참조

특정 사용 사례에서는 워크로드 섹션이 사전 암호화될 때 레지스트리가 알려지지 않습니다. 예를 들어, 워크로드 공급자가 배포자가 레지스트리 미러 또는 사설 컨테이너 레지스트리를 사용할 수 있도록 허용하고자 할 때.

그 경우, 레지스트리와 풀 자격 증명을 동적으로 재정의할 수 있습니다. 이 작업은 워크로드 제공자와 배포자 간에 조율되어야 합니다.

템플릿 방식은 컴포즈 기반 워크로드에서만 작동하며, 다이제스트를 통해 참조되는 이미지에 대해서만 적용됩니다. DCT 기반 워크로드는 지원되지 않습니다.

워크로드 제공자

워크로드 제공자는 Docker 작성 파일에서 대체 변수를 사용하여 레지스트리를 동적으로 표시합니다.

services:
  helloworld:
    image: ${REGISTRY}/hpse-docker-hello-world-s390x@sha256:43c500c5f85fc450060b804851992314778e35cadff03cb63042f593687b7347

이미지의 다이제스트는 레지스트리 간 동일하므로, 워크로드 공급자는 사용 중인 레지스트리와 무관하게 키를 설정하여 특정 버전의 이미지를 고정할 수 있습니다. 작성 파일에서 토큰을 사용하는 것은 작성 스펙의 기본 기능입니다.

이제 워크로드 제공자는 해당 레지스트리에 대한 가져오기 시크릿을 지정하지 않고 워크로드 섹션을 준비 (암호화) 할 수 있습니다.

배치자

배포 담당자는 레지스트리 및 관련 풀 시크릿에 대한 누락된 정보를 입력합니다.

레지스트리는 환경 변수로 설정됩니다. 배포자와 워크로드 제공자 모두 전체 환경에 구성 요소를 제공할 수 있으며, 이러한 구성 요소들은 워크로드가 우선권을 가지며 중첩됩니다.

풀 자격 증명은 계약의 환경 부분의 auth 섹션을 통해 전달됩니다. 환경 변수와 마찬가지로, 이러한 auth 섹션들은 오버레이되며 워크로드 섹션이 우선 순위를 가집니다.

---
  ---
  env:
    type: env
    auths:
      de.icr.io:
        username: xxx
        password: yyy
    env:
      REGISTRY: de.icr.io