역할 기반 액세스 제어, 자동 취약점 스캔, 컨테이너화된 애플리케이션의 간소화된 이미지 관리를 통해 보안을 강화하려면 이미지를 Harbor로 푸시하세요. 로컬 이미지를 Harbor 인스턴스로 푸시하려면 저장소 이름으로 태그를 지정한 후 이미지를 푸시합니다.
시작하기 전에
Harbor에 이미지를 푸시하려면 다음 항목에 액세스할 수 있어야 합니다.
- 필요한 ID 및 액세스 역할입니다. 조직 IAM 관리자에게 Harbor 인스턴스 뷰어 (
harbor-instance-viewer
) 역할을 부여해 달라고 요청하세요. - Harbor의 역할 기반 액세스 제어에서
Developer
역할이 있는 계정입니다. 자세한 내용은 API 및 Harbor 인스턴스 내 액세스 구성을 참고하세요. - 기존 Harbor 프로젝트입니다. 자세한 내용은 Harbor 프로젝트 만들기를 참고하세요.
로컬 이미지에 태그 지정
다음 단계에 따라 저장소 이름으로 로컬 이미지에 태그를 지정하세요.
- Harbor 인스턴스에 인증되어 있어야 합니다. 자세한 내용은 Harbor 레지스트리 인스턴스에 Docker 인증 구성을 참고하세요.
이미지 이름을 설정합니다. 전체 이미지 이름 형식은 다음과 같습니다.
INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE
다음을 바꿉니다.
INSTANCE_URL
: Harbor 인스턴스의 URL입니다. 예를 들면harbor-1.org-1.zone1.google.gdc.test
입니다. GDC 콘솔 또는 gdcloud CLI를 사용하여 Harbor 인스턴스의 URL을 가져옵니다.HARBOR_PROJECT_NAME
: Harbor 프로젝트의 이름입니다. 예를 들면my-project.
입니다.IMAGE_NAME
: 이미지의 이름입니다. 예를 들면nginx.
입니다.
전체 이미지 이름의 예는 다음과 같습니다.
harbor-1.org-1.zone1.google.gdc.test/my-project/nginx
저장소 이름으로 로컬 이미지에 태그를 지정합니다.
docker tag SOURCE-IMAGE INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE:TAG
다음을 바꿉니다.
SOURCE-IMAGE
: 로컬 이미지 이름 또는 이미지 ID입니다. 예를 들면nginx
입니다.TAG
: 태그 이름입니다. 예를 들면staging
입니다. 태그를 지정하지 않으면 Docker가 기본적으로 최신 태그를 적용합니다.
태그가 지정된 이미지를 Harbor 레지스트리 인스턴스로 푸시
이미지에 태그를 지정한 후 Harbor 레지스트리 인스턴스로 푸시합니다.
- Harbor 인스턴스에 인증되어 있는지 확인합니다.
- 다음 명령어로 태그가 지정된 이미지를 내보냅니다.
docker push
INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE:TAG
이미지를 푸시하면 지정된 인스턴스 및 Harbor 프로젝트에 저장됩니다.
이미지를 푸시한 후 Harbor 인스턴스 UI로 이동하여 이미지를 확인합니다.