본문으로 건너뛰기

이미지 관리

Container Registry 서비스에서 리포지토리에 Push 된 이미지를 관리하는 방법은 다음과 같습니다.

이미지 상세 보기

리포지토리에 Push 된 이미지의 상세 정보를 확인할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Container Registry 메뉴를 선택합니다.

  2. Repository 탭에서 이미지가 있는 리포지토리를 선택합니다.

  3. 리포지토리 상세 페이지의 이미지 탭에서 상세 정보를 확인할 이미지를 선택합니다.

  4. 이미지 상세 페이지에서 정보를 확인합니다.

    이미지 상세 정보

    구분설명
    ① URI이미지 URI 확인 및 복사
    ② 기능제공 기능
    - [커맨드 보기] 버튼: 레지스트리 인증 및 이미지 Push, Pull 커맨드를 확인
    - [만료기한 변경] 버튼: 만료기한을 변경
    ③ 세부 정보 탭이미지 세부 정보 조회
    - 최근 7일 액티비티: 이미지 Push, 태그 추가, 태그 삭제 등 이미지 사용 횟수
    - 이미지 크기: 이미지의 크기
    - 이미지 Push: 이미지 Push 횟수
    - 만료기한: 이미지의 만료 기한
    - 생성일시: 이미지 생성 날짜와 시간 정보
    - 수정일시: 마지막으로 이미지를 수정한 날짜와 시간 정보
    - 라벨: 이미지에 설정된 라벨로, 라벨 클릭 시 선택한 라벨이 사용된 이미지 목록을 확인 가능
    ④ 이미지 태그 탭이미지 태그 정보 조회
    - 태그 이름 검색: 검색 필터로 태그 이름을 입력해 태그 검색 가능
    - 태그 이름: 태그 이름 확인
    - 취약점: 해당 태그의 스캔 상태 또는 결과에 대한 요약 정보
    - 이미지 크기: 해당 태그의 이미지 크기
    - 수정일시: 해당 태그가 수정된 날짜와 시간 정보
    - [더 보기] 아이콘: Pull 커맨드 보기, 태그 추가, 태그 삭제
    ⑤ 태그 히스토리 탭태그 히스토리 조회
    - 조회기간: 태그를 조회할 기간
    - 태그 히스토리 검색: 검색 필터로 특정 태그명을 입력하여 히스토리를 검색 가능
    - 날짜: 태그가 변경된 날짜
    - 태그 히스토리: 상세한 태그 히스토리
    - 복구: 태그가 이동된(덮어씌어진) 경우 같은 이름의 태그 중 마지막 히스토리에 대해서 복구 가능
    (복구 버튼이 활성화된 경우에만 가능)
    ⑥ 사용이력 탭이미지 사용 이력 조회
    - 조회기간: 사용이력의 조회 기간은 지난 7일을 기준으로 설정, 사용자가 조회 기간을 선택 가능
    - 유형: 검색하고자 하는 유형을 선택하면 해당 유형으로 목록에 검색 결과 표시됨
    - 사용이력 검색: 검색 필터로 사용 이력과 사용자를 검색
    - 날짜: 사용 이력이 발생한 날짜와 시간을 확인
    - 사용이력: 상세 사용 이력을 확인
    - 사용자: 사용자의 ID를 확인

이미지 수정

이미지 정보를 수정할 수 있습니다. 이미지 이름은 수정할 수 없으며, 이미지 설명과 라벨만 수정할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Container Registry 메뉴를 선택합니다.

  2. Repository 탭에서 리포지토리를 클릭한 후, 이미지 탭에서 수정할 이미지를 선택합니다.

  3. 이미지 상세 페이지의 우측 상단 [더 보기] 아이콘 > 이미지 수정을 선택합니다.

  4. 이미지 수정에서 정보를 수정하고, [저장] 버튼을 클릭합니다.

    이미지 상세 정보

    구분설명
    ① 이미지 이름이미지 이름은 이미지 ID로 사용되기 때문에 수정이 불가능
    ② 이미지 설명 (선택)이미지에 대한 설명
    ③ 라벨 (선택)라벨 수정/삭제 가능
    - 라벨 추가는 최대 5개까지 가능
    ④ 저장변경 사항을 저장

이미지 Push/Pull 커맨드 보기(Docker)

도커(Docker)를 통해 이미지를 리포지토리에 Push/Pull 할 수 있는 커맨드를 확인할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Container Registry 메뉴를 선택합니다.

  2. Repository 탭에서 리포지토리를 클릭한 후, 이미지 탭에서 커맨드를 확인할 이미지를 선택합니다.

  3. 이미지 상세 페이지의 우측 상단 [커맨드 보기] 버튼을 클릭합니다.

  4. 커맨드 보기 팝업창에서 커맨드를 확인합니다.

    커맨드 보기 커맨드 보기 팝업

이미지 만료 기한 변경

이미지의 만료 기한을 변경할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Container Registry 메뉴를 선택합니다.

  2. Repository 탭에서 리포지토리를 클릭한 후, 이미지 탭에서 만료 기한을 변경할 이미지를 선택합니다.

  3. 이미지 상세 페이지의 우측 상단 [만료기한 변경] 버튼을 클릭합니다.

  4. 만료기한 변경 팝업창에서 만료 기간을 설정하고 [저장] 버튼을 클릭합니다.

    만료기한 변경 만료기한 변경 팝업

이미지 스캔(취약점 분석)

이미지 스캔을 통해 이미지의 소프트웨어 취약점을 식별할 수 있습니다.

Container Registry는 Trivy의 CVE(Common Vulnerabilities and Exposures, 공개적으로 알려진 소프트웨어 보안 결함 목록) 데이터베이스를 사용하며, 이미지 스캔이 완료되면 스캔 결과에 대한 CVE 목록을 제공해 배포 중인 이미지의 보안 취약점에 대한 정보를 파악할 수 있습니다. Trivy에 대한 자세한 설명은 GitHub의 Trivy를 참고하시기 바랍니다.

안내

이미지 스캔 유형은 리포지토리를 만들 때 자동 또는 수동으로 설정한 값이며, 이미 생성된 리포지토리라도 이미지 스캔 유형을 변경할 수 있습니다.
이미지 스캔 유형 변경에 대한 자세한 설명은 리포지토리 수정을 참고하시기 바랍니다.

이미지 자동 스캔

리포지토리 생성 시 이미지 스캔자동으로 선택한 경우, 리포지토리에 이미지가 Push 될 때 이미지 스캔이 자동으로 수행됩니다.

이미지 수동 스캔

리포지토리 생성 시 이미지 스캔수동으로 선택한 경우, 이미지를 수동으로 스캔할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Container Registry 메뉴를 선택합니다.

  2. Repository 탭에서 리포지토리를 클릭한 후, 이미지 탭에서 수동 스캔할 이미지를 선택합니다.

  3. 이미지 상세 페이지의 이미지 태그 탭 > 취약점에서 [스캔] 버튼을 클릭합니다. 스캔은 하루에 한 번 가능하며, 이미 스캔이 실행된 경우 스캔 버튼이 비활성화되어 수동 스캔을 할 수 없습니다.

    수동스캔 수동 스캔하기

스캔 결과 확인

요약 정보, CVE를 기반으로 한 스캔 결과, 취약점 등을 자동/수동으로 스캔한 결과를 확인할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Container Registry 메뉴를 선택합니다.

  2. Repository 탭에서 리포지토리를 클릭한 후, 이미지 탭에서 스캔 결과를 확인할 이미지를 선택합니다.

  3. 이미지 상세 페이지의 이미지 태그 탭에서 태그 이름 또는 취약점을 선택합니다.

  4. 태그 상세 페이지의 취약점 탭에서 상세 스캔 결과를 확인합니다.

    취약점 이미지 스캔 결과

이미지 삭제

더 이상 필요하지 않은 이미지를 삭제할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Container Registry 메뉴를 선택합니다.
  2. Repository 탭에서 리포지토리를 클릭한 후, 이미지 탭에서 삭제할 이미지를 선택합니다.
  3. 이미지 상세 페이지의 우측 상단 [더 보기] 아이콘 > 이미지 삭제를 선택합니다.
  4. 이미지 삭제 팝업창에서 이미지 이름을 입력하고 [삭제] 버튼을 클릭합니다.

이미지 Push/Pull

IAM 권한에 따라 Docker CLI를 이용해 사용자의 이미지를 Push 또는 Pull을 할 수 있습니다.
이미지 Push는 Container Registry 관리자와 멤버 권한이 있어야 할 수 있습니다. 단, 프로젝트에 속하지 않은 멤버도 해당 리포지토리에 멤버 역할을 부여받게 되면 이미지를 Push 할 수 있습니다.
이미지 Pull은 해당 프로젝트에 속한 멤버는 누구나 할 수 있습니다. 또한 해당 리포지토리에 멤버와 뷰어 역할을 부여받게 되면 이미지 Pull을 할 수 있습니다. 단, 리포지토리가 공개로 설정되어 있으면 권한과 상관없이 URI를 아는 사용자는 누구나 이미지를 Pull 할 수 있습니다.  

안내

이미지 Push 전 레지스트리에 리포지토리를 생성해야 합니다. 리포지토리 생성에 대한 자세한 설명은 리포지토리 생성을 참고하시기 바랍니다.

이미지 Push

리포지토리에 이미지를 Push 할 수 있습니다.

  1. 도커 CLI에서 레지스트리 인증을 실행합니다.

  2. 레지스트리 인증 후 리포지토리에 사용자의 로컬에서 이미지를 Push하기 위해 도커 CLI에서 다음의 명령어로 Tagging 합니다.

    Tagging 명령어
    docker tag {소스 이미지} {프로젝트 이름}.{리전명}.kcr.dev/{리포지토리 이름}/{이미지 이름}:{태그 이름}
  3. Tagging한 이미지를 명령을 실행해 리포지토리에 Push합니다.

    Push 명령어 예시
    docker push {프로젝트 이름}.{리전명}.kcr.dev/{리포지토리 이름}/{이미지 이름}:{태그 이름}
주의

이미지 이름은 아래의 조건으로만 가능합니다.

  • 공백 없이 영어 소문자/숫자/하이픈(-)/언더바(_)/마침표(.)를 사용해 4~100자 이내로 작성
  • 시작 문자는 영어 소문자/숫자만 가능하며, 하이픈(-)으로 끝날 수 없음

이미지 Pull

본인 계정을 인증한 사용자는 명령을 실행해 리포지토리에 있는 특정 이미지를 Pull 할 수 있습니다.

Pull 명령어 예시
docker pull {프로젝트 이름}.{리전명}.kcr.dev/{리포지토리 이름}/{이미지 이름}:{태그 이름}

태그 관리

Container Registry 서비스에서 이미지의 태그를 관리하는 방법은 다음과 같습니다.

태그 상세 보기

이미지 태그의 상세 정보를 확인할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Container Registry 메뉴를 선택합니다.

  2. Repository 탭에서 리포지토리를 클릭한 후, 이미지 탭에서 태그를 확인할 이미지를 선택합니다.

  3. 이미지 상세 페이지에서 이미지 태그 탭을 클릭한 후, 세부 정보를 확인할 태그를 선택합니다.

    이미지 태그 목록 이미지 태그 탭

    구분설명
    태그 이름태그 이름 확인
    취약점해당 태그의 스캔 상태 또는 결과에 대한 요약 정보를 확인
    - None Detected: 발견된 취약점이 없음
    - In Progress: 이미지 스캔 요청 중이거나 진행 중
    - Not Supported: 이미지 스캔 결과 해당 태그에 대한 취약점 내용을 가져올 수 없는 상태
    - Serious: 이미지 취약점 중 Critical과 High 레벨의 취약점 개수
    - [스캔] 버튼: 클릭 시 해당 태그를 수동으로 스캔
    이미지 크기해당 태그의 이미지 크기
    수정일시해당 태그가 수정된 날짜와 시간 정보
  4. 태그 상세 페이지의 레이어 또는 취약점 탭에서 해당 태그의 상세 정보를 확인합니다.

    • 레이어 탭에서는 해당 이미지의 레이어 정보(이미지 ID, 명령어, 히스토리, Manifest V1, V2 다운로드 등)을 확인할 수 있습니다.
    • 취약점 탭에서는 해당 이미지의 스캔 결과를 확인할 수 있습니다.

    이미지 태그 상세

태그 Pull 커맨드 보기

특정 태그를 Pull 할 수 있는 커맨드를 확인할 수 있습니다.

  1. 카카오클라우드 콘솔에 접속한 후, Container Registry를 선택합니다.

  2. Repository 탭에서 리포지토리를 클릭한 후, 이미지 탭에서 이미지를 선택합니다.

  3. 이미지 상세 페이지에서 이미지 태그 탭을 클릭한 후, 커맨드를 확인할 태그의 [더 보기] 아이콘 > Pull 커맨드 보기를 선택합니다.

    이미지 Pull 커맨드 보기 이미지 Pull 커맨드 보기

  4. Pull 커맨드 보기 팝업창에서 정보를 확인합니다.

    이미지 Pull 커맨드 보기 이미지 Pull 커맨드 보기 팝업창

태그 추가

신규 태그를 추가할 수 있습니다.
태그 추가 시, 해당 리포지토리에 태그 덮어쓰기가 허용된 경우 중복된 이름의 태그는 덮어쓰기가 실행됩니다. 태그 덮어쓰기가 불가인 경우에는 동일한 태그 이름으로 태그를 추가할 수 없습니다. 태그 덮어쓰기 허용 설정은 리포지토리를 만들 때 설정하며, 필요한 경우에는 덮어쓰기 허용 설정을 변경할 수 있습니다. 태그 덮어쓰기 허용 설정에 대한 자세한 설명은 리포지토리 수정을 참고하시기 바랍니다.

  1. 카카오클라우드 콘솔에서 Container Registry 메뉴를 선택합니다.

  2. Repository 탭에서 리포지토리를 클릭한 후, 이미지 탭에서 태그를 확인할 이미지를 선택합니다.

  3. 이미지 상세 페이지에서 이미지 태그 탭을 클릭한 후, 태그를 추가할 태그의 [더 보기] 아이콘 > 태그 추가를 선택합니다.

  4. 태그 추가 팝업창에서 추가할 태그 이름을 입력하고 [저장] 버튼을 클릭합니다.

    태그 추가 팝업 태그 추가하기

    구분설명
    태그 이름태그 이름 규칙
    - 영어 대문자(A-Z)와 영어 소문자(a-z), 숫자(0-9), 하이픈(-), 언더바(_), 온점(.)을 사용 가능
    - 1~128자 이내의 길이로 제한
    -영어 또는 숫자로 시작해야 하며, 영문이나 숫자로 끝나야 하며, 중간에 -를 연속해서 입력할 수 없음

태그 히스토리보기

태그 추가, 삭제, 복구 등에 대한 내역을 확인할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Container Registry 메뉴를 선택합니다.

  2. Repository 탭에서 리포지토리를 클릭한 후, 이미지 탭에서 태그를 확인할 이미지를 선택합니다.

  3. 이미지 상세 페이지에서 태그 히스토리 탭을 클릭한 후, 정보를 확인합니다.

    태그 히스토리 태그 히스토리 목록

태그 복구

태그가 이동된(덮어씌어진) 경우 같은 이름의 태그 중 마지막 히스토리에 대해서 복구할 수 있습니다. 단, 복구 기능은 [복구] 버튼이 활성화되어 있는 경우 실행할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Container Registry 메뉴를 선택합니다.

  2. Repository 탭에서 리포지토리를 클릭한 후, 이미지 탭에서 태그를 복구할 이미지를 선택합니다.

  3. 이미지 상세 페이지에서 이미지 히스토리 탭을 클릭한 후, 복구할 히스토리의 [복구] 버튼을 클릭합니다.

  4. 태그 복구 팝업창에서 [복구] 버튼을 클릭합니다.

    태그 복구 팝업 태그 복구하기

태그 삭제

더 이상 사용하지 않는 태그를 삭제할 수 있습니다. 태그를 삭제할 때 해당 태그와 동일한 다이제스트를 사용하는 태그도 함께 삭제됩니다. 삭제된 태그는 복구할 수 없습니다.
이미지 형식이 v2 이상인 경우에는 다이제스트(Digest)라고 하는 콘텐츠 주소 지정이 가능한 식별자가 포함됩니다. 이미지를 생성할 때 사용된 내용이 변경되지 않는 한 다이제스트도 변경되지 않습니다.

  1. 카카오클라우드 콘솔에서 Container Registry 메뉴를 선택합니다.
  2. Repository 탭에서 리포지토리를 클릭한 후, 이미지 탭에서 태그를 삭제할 이미지를 선택합니다.
  3. 이미지 상세 페이지에서 이미지 태그 탭을 클릭한 후, 삭제할 태그의 [더 보기] 아이콘 > 태그 삭제를 선택합니다.
  4. 태그 삭제 팝업창에서 삭제할 태그 이름을 입력 후, [삭제] 버튼을 클릭합니다.