4.2. 이미지에 메타데이터 포함
이미지 메타데이터를 정의하면 AWS의 Red Hat OpenShift Service가 컨테이너 이미지를 더 잘 사용할 수 있으므로 AWS의 Red Hat OpenShift Service가 이미지를 사용하는 개발자에게 더 나은 환경을 제공할 수 있습니다. 예를 들어 이미지에 대한 유용한 설명을 제공하거나 기타 필요한 이미지를 제안하는 메타데이터를 추가할 수 있습니다.
이 주제에서는 현재의 사용 사례에 필요한 메타데이터만 정의합니다. 향후 메타데이터 또는 사용 사례가 더 추가될 수 있습니다.
4.2.1. 이미지 메타데이터 정의
Dockerfile
에서 LABEL
명령어를 사용하여 이미지 메타데이터를 정의할 수 있습니다. 레이블은 이미지 또는 컨테이너에 연결된 키 값 쌍이라는 점에서 환경 변수와 유사합니다. 레이블은 실행 중인 애플리케이션에 표시되지 않으며 이미지 및 컨테이너를 빠르게 조회하는 데 사용될 수 있다는 점에서 환경 변수와 다릅니다.
LABEL
명령어에 대한 자세한 내용은 Docker 문서를 참조하십시오.
레이블 이름은 일반적으로 네임스페이스가 지정됩니다. 레이블을 찾아 사용할 프로젝트를 반영하여 네임스페이스를 적절히 설정해야 합니다. AWS의 Red Hat OpenShift Service의 경우 네임스페이스는 io.openshift
로 설정되고 Kubernetes의 경우 네임스페이스는 io.k8s
입니다.
형식에 대한 자세한 내용은 Docker 사용자 정의 메타데이터 문서를 참조하십시오.
변수 | 설명 |
---|---|
| 이 레이블에는 쉼표로 구분된 문자열 값 목록으로 표시되는 태그 목록이 있습니다. 태그는 컨테이너 이미지를 광범위한 기능 영역으로 분류하는 방법입니다. 태그는 UI 및 생성 도구에서 애플리케이션 생성 프로세스 중 관련 컨테이너 이미지를 제안하는 데 도움이 됩니다. LABEL io.openshift.tags mongodb,mongodb24,nosql |
|
지정된 태그가 있는 컨테이너 이미지가 아직 없는 경우 생성 도구 및 UI가 이와 관련된 제안을 하는 데 사용할 수 있는 태그 목록을 지정합니다. 예를 들어 컨테이너 이미지에 LABEL io.openshift.wants mongodb,redis |
| 이 레이블을 사용하면 컨테이너 이미지 사용자에게 이 이미지가 제공하는 서비스 또는 기능에 대한 더 자세한 정보를 제공할 수 있습니다. 그러면 UI가 컨테이너 이미지 이름과 함께 이 설명을 사용하여 더 쉽게 이해할 수 있는 정보를 일반 사용자에게 제공할 수 있습니다. LABEL io.k8s.description The MySQL 5.5 Server with master-slave replication support |
|
이미지는 이 변수를 사용하여 확장을 지원하지 않도록 제안할 수 있습니다. 그러면 UI가 이 내용을 해당 이미지 사용자에게 전달합니다. 확장 불가능하다는 것은 기본적으로 LABEL io.openshift.non-scalable true |
| 이 레이블은 컨테이너 이미지가 제대로 작동하려면 리소스가 얼마나 필요한지를 제안합니다. 이 컨테이너 이미지를 배포하면 사용자 할당량이 초과된다는 UI 경고 메시지가 표시될 수 있습니다. 값은 Kubernetes 수량과 호환되어야 합니다. LABEL io.openshift.min-memory 16Gi LABEL io.openshift.min-cpu 4 |