이미지 관리
Container Registry 서비스에서 리포지토리에 푸시된 이미지를 관리하는 방법은 다음과 같습니다.
이미지 상세 보기
리포지토리에 Push 된 이미지의 상세 정보를 확인할 수 있습니다.
-
카카오클라우드 콘솔 > Container Pack > Container Registry 메뉴로 이동합니다.
-
리포지토리 메뉴에서 이미지가 있는 리포지토리를 선택합니다.
-
이미지 탭에서 상세 정보를 확인할 이미지를 선택합니다.
-
이미지 상세 페이지에서 정보를 확인합니다.
구분 설명 ① 이미지 URI 이미지 URI 확인 및 복사 ② 기능 제공 기능
- [커맨드 보기] 버튼: 레지스트리 인증 및 이미지 Push, Pull 커맨드를 확인
- [만료기한 변경] 버튼: 만료 기한을 변경③ 세부 정보 탭 이미지 세부 정보 조회 ④ 이미지 태그 탭 이미지 태그 정보 조회 ⑤ 태그 히스토리 탭 태그 히스토리 조회 ⑥ 사용이력 탭 이미지 사용 이력 조회
이미지 수정
이미지 정보를 수정할 수 있습니다. 이미지 이름은 수정할 수 없으며, 이미지 설명과 라벨만 수정할 수 있습니다.
- 카카오클라우드 콘솔 > Container Pack > Container Registry 메뉴로 이동합니다.
- 리포지토리 메뉴에서 리포지토리를 클릭한 후, 이미지 탭에서 수정할 이미지의 체크박스를 선택합니다.
- 우측에 위치한 [더 보기] 아이콘 > 수정을 선택합니다.
- 이미지 수정에서 정보를 수정하고, [저장] 버튼을 클릭합니다.
이미지 Push/Pull 커맨드 보기(Docker)
도커(Docker)를 통해 이미지를 리포지토리에 Push/Pull 할 수 있는 커맨드를 확인할 수 있습니다.
- 카카오클라우드 콘솔 > Container Pack > Container Registry 메뉴로 이동합니다.
- 리포지토리 메뉴에서 리포지토리를 클릭한 후, 이미지 탭에서 커맨드를 확인할 이미지를 선택합니다.
- 우측 상단에 위치한 [커맨드 보기] 버튼을 클릭합니다.
- 커맨드 보기 팝업창에서 커맨드를 확인합니다.
이미지 만료 기한 변경
이미지의 만료 기한을 변경할 수 있습니다.
-
카카오클라우드 콘솔 > Container Pack > Container Registry 메뉴로 이동합니다.
-
리포지토리 메뉴에서 리포지토리를 클릭한 후, 이미지 탭에서 만료 기한을 변경할 이미지를 선택합니다.
-
우측 상단에 위치한 [만료기한 변경] 버튼을 클릭합니다.
-
만료기한 변경 팝업창에서 만료 기간을 설정하고 [저장] 버튼을 클릭합니다.
만료기한 변경 팝업
이미지 스캔(취약점 분석)
이미지 스캔을 통해 이미지의 소프트웨어 취약점을 식별할 수 있습니다.
Container Registry는 Trivy의 CVE(Common Vulnerabilities and Exposures, 공개적으로 알려진 소프트웨어 보안 결함 목록) 데이터베이스를 사용하며, 이미지 스캔이 완료되면 스캔 결과에 대한 CVE 목록을 제공해 배포 중인 이미지의 보안 취약점에 대한 정보를 파악할 수 있습니다. Trivy에 대한 자세한 설명은 GitHub의 Trivy를 참고하시기 바랍니다.
이미지 스캔 유형은 리포지토리를 만들 때 자동 또는 수동으로 설정한 값이며, 이미 생성된 리포지토리라도 이미지 스캔 유형을 변경할 수 있습니다.
이미지 스캔 유형 변경에 대한 자세한 설명은 리포지토리 수정을 참고하시기 바랍니다.
이미지 자동 스캔
리포지토리 생성 시 이미지 스캔을 자동으로 선택한 경우, 리포지토리에 이미지가 Push 될 때 이미지 스캔이 자동으로 수행됩니다.
이미지 수동 스캔
리포지토리 생성 시 이미지 스캔을 수동으로 선택한 경우, 이미지를 수동으로 스캔할 수 있습니다.
-
카카오클라우드 콘솔 > Container Pack > Container Registry 메뉴로 이동합니다.
-
리포지토리 메뉴에서 리포지토리를 클릭한 후, 이미지 탭에서 수동 스캔할 이미지를 선택합니다.
-
이미지 태그 탭에서 [스캔] 버튼을 클릭합니다.
- 스캔은 하루에 한 번 가능하며, 이미 스캔이 실행된 경우 스캔 버튼이 비활성화되어 수동 스캔을 할 수 없습니다.
수동 스캔하기
스캔 결과 확인
요약 정보, CVE를 기반으로 한 스캔 결과, 취약점 등을 자동/수동으로 스캔한 결과를 확인할 수 있습니다.
-
카카오클라우드 콘솔 > Container Pack > Container Registry 메뉴로 이동합니다.
-
리포지토리 메뉴에서 리포지토리를 클릭한 후, 이미지 탭에서 스캔 결 과를 확인할 이미지를 선택합니다.
-
이미지 태그 탭에서 태그 이름 칼럼에서 특정 태그를 선택합니다.
-
취약점 탭에서 상세 스캔 결과를 확인합니다.
이미지 스캔 결과
이미지 삭제
더 이상 필요하지 않은 이미지를 삭제할 수 있습니다.
- 카카오클라우드 콘솔 > Container Pack > Container Registry 메뉴로 이동합니다.
- 리포지토리 메뉴에서 리포지토리를 클릭한 후, 이미지 탭에서 삭제할 이미지의 체크박스를 선택합니다.
- 우측에 위치한 [더 보기] 아이콘 > 삭제를 선택합니다.
- 이미지 삭제 팝업창에서 이미지 이름을 입력하고 [삭제] 버튼을 클릭합니다.
이미지 Push/Pull
IAM 권한에 따라 Docker CLI를 이용해 사용자의 이미지를 Push 또는 Pull을 할 수 있습니다.
이미지 Push는 Container Registry 관리자와 프로젝트 멤버 권한이 있어야 할 수 있습니다. 단, 프로젝트에 속하지 않은 멤버도 해당 리포지토리에 리포지토리 멤버 역할을 부여받게 되면 이미지를 Push할 수 있습니다.
이미지 Pull은 해당 프로젝트에 속한 멤버는 누구나 할 수 있습니다. 또한 해당 리포지토리에 멤버와 뷰어 역할을 부여받게 되면 이미지 Pull을 할 수 있습니다. 단, 리포지토리가 공개로 설정되어 있으면 권한과 상관없이 URI를 아는 사용자는 누구나 이미지를 Pull 할 수 있습니다.
이미지 Push 전 레지스트리에 리포지토리를 생성해야 합니다. 리포지토리 생성에 대한 자세한 설명은 리포지토리 생성을 참고하시기 바랍니다.
이미지 Push
리포지토리에 이미지를 Push 할 수 있습니다.
-
도커 CLI에서 레지스트리 인증을 실행합니다.
- 레지스트리 인증에 대한 자세한 설명은 레지스트리 인증을 참고하시기 바랍니다
-
레지스트리 인증 후 리포지토리에 사용자의 로컬에서 이미지를 Push하기 위해 도커 CLI에서 다음의 명령어로 태깅합니다.
태깅 명령어docker tag {소스 이미지} {프로젝트 이름}.{리전명}.kcr.dev/{리포지토리 이름}/{이미지 이름}:{태그 이름}
-
태깅한 이미지를 명령을 실행해 리포지토리에 Push합니다.
Push 명령어 예시docker push {프로젝트 이름}.{리전명}.kcr.dev/{리포지토리 이름}/{이미지 이름}:{태그 이름}
이미지 이름은 아래의 조건으로만 가능합니다.
- 공백 없이 영어 소문자/숫자/하이픈(
-
)/언더바(_
)/마침표(.
)를 사용해 4~100자 이내로 작성 - 시작 문자는 영어 소문자/숫자만 가능하며, 하이픈(
-
)으로 끝날 수 없음
이미지 Pull
본인 계정을 인증한 사용자는 명령을 실행해 리포지토리에 있는 특정 이미지를 Pull 할 수 있습니다.
docker pull {프로젝트 이름}.{리전명}.kcr.dev/{리포지토리 이름}/{이미지 이름}:{태그 이름}
태그 관리
Container Registry에서 이미지의 태그를 관리하는 방법은 다음과 같습니다.
태그 상세 보기
이미지 태그의 상세 정보를 확인할 수 있습니다.
-
카카오클라우드 콘솔 > Container Pack > Container Registry 메뉴로 이동합니다.
-
리포지토리 메뉴에서 리포지토리를 클릭한 후, 이미지 탭에서 태그를 확인할 이미지를 선택합니다.
-
이미지 태그 탭을 클릭한 후, 세부 정보를 확인할 태그를 선택합니다.
-
레이어 또는 취약점 탭에서 해당 태그의 상세 정보를 확인합니다.
- 레이어 탭에서는 해당 이미지의 레이어 정보(이미지 ID, 명령어, 히스토리, Manifest V1, V2 다운로드 등)를 확인할 수 있습니다.
- 취약점 탭에서는 해당 이미지의 스캔 결과를 확인할 수 있습니다.