이미지 내보내기

이미지를 Harbor로 푸시하면 역할 기반 액세스 제어, 자동 취약점 스캔, 컨테이너화된 애플리케이션의 간소화된 이미지 관리를 통해 보안이 강화됩니다. 로컬 이미지를 Harbor 인스턴스로 푸시하려면 저장소 이름으로 태그를 지정한 후 이미지를 푸시합니다.

시작하기 전에

이미지를 푸시하려면 기존 Harbor 프로젝트를 비롯하여 필요한 리소스와 권한으로 환경을 구성해야 합니다. 자세한 내용은 다음을 참조하세요. Harbor 프로젝트 만들기.

필요한 IAM 역할

이미지를 Harbor 레지스트리 인스턴스로 푸시하려면 프로젝트 IAM 관리자에게 문의하여 다음 역할을 요청하세요.

  • Harbor 인스턴스 뷰어 (harbor-instance-viewer): 프로젝트 네임스페이스에서 Harbor 인스턴스를 가져오고, 나열하고, 감시합니다. 이 역할에는 기존 Harbor 인스턴스의 세부정보를 보는 데 필요한 권한이 포함되어 있으므로 이미지를 푸시하는 데 필요한 레지스트리 URL을 가져올 수 있습니다.

필요한 Harbor RBAC 역할

GDC IAM 역할과 달리 이미지를 푸시하려면 Harbor의 내부 역할 기반 액세스 제어 (RBAC) 시스템 내에서 특정 권한이 필요합니다. 관리자에게 필요한 권한을 요청하세요. 특정 작업에 필요한 역할만 요청하여 최소 권한 액세스를 적용합니다.

로컬 이미지에 태그 지정

다음 단계에 따라 저장소 이름을 사용하여 로컬 이미지에 태그를 지정하세요.

  1. Harbor 인스턴스에 인증되어 있어야 합니다. 자세한 내용은 다음 을 참조하세요. Harbor 레지스트리 인스턴스에 대한 Docker 인증 구성.
  2. 이미지의 이름을 설정합니다. 전체 이미지 이름 형식은 다음과 같습니다.

    INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE
    

    다음을 바꿉니다.

    이미지 전체 이름의 예는 다음과 같습니다.

    harbor-1.org-1.zone1.google.gdc.test/my-project/nginx
    
  3. 저장소 이름으로 로컬 이미지에 태그를 지정합니다.

    docker tag SOURCE-IMAGE
    INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE:TAG
    
    

다음을 바꿉니다.

  • SOURCE-IMAGE: 로컬 이미지 이름 또는 이미지 ID입니다. 예를 들면 nginx입니다.
  • TAG: 태그 이름입니다. 예를 들면 staging입니다. 태그를 지정하지 않으면 Docker가 기본적으로 최신 태그를 적용합니다.

태그가 지정된 이미지를 Harbor 레지스트리 인스턴스로 푸시

이미지에 태그를 지정한 후 Harbor 레지스트리 인스턴스로 푸시합니다.

  1. Harbor 인스턴스에 인증되어 있는지 확인합니다.
  2. 다음 명령어로 태그가 지정된 이미지를 푸시합니다.
docker push
INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE:TAG

이미지를 푸시하면 지정된 인스턴스 및 Harbor 프로젝트에 저장됩니다.

이미지를 푸시한 후 Harbor 인스턴스 UI 로 이동하여 이미지를 확인합니다.

다음 단계

Harbor 레지스트리로 이미지를 푸시한 후 로컬 환경으로 가져와서 확인할 수 있습니다. 또한 태그 보관 규칙을 구성하여 저장소를 자동으로 유지하고 보안 스캔 결과를 검토하여 취약점을 감지할 수 있습니다.