Red Hat Training
A Red Hat training course is available for OpenShift Container Platform
13.2. 태그 지정 이미지
OpenShift Container Platform 이미지 스트림 및 해당 태그로 작업하기 전에 먼저 컨테이너 이미지 컨텍스트에서 이미지 태그를 이해하는 데 도움이 됩니다.
컨테이너 이미지에 이름이 추가되어 태그 라고 하는 내용을 보다 직관적으로 확인할 수 있습니다. 태그를 사용하여 이미지에 포함된 버전의 버전을 지정하는 것이 일반적인 사용 사례입니다. ruby 라는 이미지가 있는 경우 2.0 버전의 Ruby에 2.0 이라는 태그를 사용하고, 다른 이름이 latest 로 지정되어 해당 리포지토리의 최신 빌드 이미지를 나타낼 수 있습니다.
docker CLI를 사용하여 이미지와 직접 상호 작용할 때 docker tag 명령은 태그를 추가할 수 있습니다. 이 태그는 기본적으로 여러 부분으로 구성될 수 있는 이미지에 별칭을 추가합니다. 이러한 부분은 다음을 포함할 수 있습니다.
<registry_server>/<user_name>/<image_name>:<tag>
위의 <user_name> 부분은 이미지가 내부 레지스트리(OpenShift Container Registry)와 OpenShift Container Platform 환경에 저장되어 있는 경우 프로젝트 또는 네임스페이스 를 참조할 수도 있습니다.
OpenShift Container Platform은 docker tag 명령과 유사하지만 이미지가 아닌 이미지 스트림에서 작동하는 oc tag 명령을 제공합니다.
docker CLI를 사용하여 직접 이미지 태그 지정에 대한 자세한 내용은 Red Hat Enterprise Linux 7의 컨테이너 시작하기 설명서를 참조하십시오.
13.2.1. 이미지 스트림에 태그 추가
OpenShift Container Platform의 이미지 스트림은 태그로 식별되는 0개 이상의 컨테이너 이미지로 구성되므로 oc tag 명령을 사용하여 이미지 스트림에 태그를 추가할 수 있습니다.
$ oc tag <source> <destination>
예를 들어 ruby 이미지 스트림 static-2.0 태그가 항상 ruby 이미지 스트림 2.0 태그의 현재 이미지를 참조하도록 구성하려면 다음을 실행합니다.
$ oc tag ruby:2.0 ruby:static-2.0
이 명령을 사용하면 ruby 이미지 스트림에 static-2.0이라는 새 이미지 스트림 태그가 생성됩니다. 새 태그는 oc tag가 실행될 때 ruby:2.0 이미지 스트림 태그가 가리키는 이미지 ID를 직접 참조하며 태그가 가리키는 이미지는 변경되지 않습니다.
사용할 수 있는 태그 유형은 다양합니다. 기본 동작은 영구적인 태그를 사용합니다. 소스가 변경되는 경우에도 새(대상) 태그가 변경되지 않습니다.
tracking 태그는 소스 태그를 가져오는 동안 대상 태그의 메타데이터가 업데이트되었음을 나타냅니다. 소스 태그가 변경될 때마다 대상 태그가 업데이트되도록 하려면 --alias=true 플래그를 사용합니다.
$ oc tag --alias=true <source> <destination>
영구 별칭(예: latest 또는 stable)을 생성하려면 추적 태그를 사용합니다. 이 태그는 단일 이미지 스트림 내에서 만 올바르게 작동합니다. 이미지 스트림 간 별칭을 생성하려고 하면 오류가 발생합니다.
--scheduled=true 플래그를 추가하여 대상 태그를 주기적으로 새로 고칠 수 있습니다(즉, 다시 가져오기). 기간은 시스템 수준에서 전역적으로 구성됩니다. 자세한 내용은 태그 및 이미지 메타데이터 가져오기 를 참조하십시오.
--reference 플래그는 가져오지 않는 이미지 스트림 태그를 생성합니다. 태그는 영구적으로 소스 위치를 가리킵니다.
Docker에 항상 통합 레지스트리에서 태그된 이미지를 가져오도록 지정하려면 --reference-policy=local 을 사용합니다. 레지스트리는 pull-through 기능을 사용하여 이미지를 클라이언트에 제공합니다. 기본적으로 이미지 Blob은 레지스트리에 의해 로컬로 미러링됩니다. 따라서 다음에 필요할 때 더 빨리 가져올 수 있습니다. 또한 이미지 스트림에 비보안 주석이 있거나 태그에 비보안 가져오기 정책이 있는 한 Docker 데몬에 --insecure-registry 를 제공할 필요 없이 비보안 레지스트리에서 가져올 수도 있습니다.