Docker Harbor

Harbor 란?

Harbor 는 컨테이너 레지스트리 관리 플랫폼 이다. Docker 와 같은 컨테이너 이미지의 저장소를 관리하는 시스템으로, 특히 이미지 저장소보안 관리에 중점을 둔다.

  • 개인 / 기업용 프라이빗 레지스트리:
    • Docker Hub 와 같은 공용 레지스트리 외에, 기업이나 팀에서는 자체적으로 Harbor 를 설치해 보안성과 제어권을 강화한 프라이빗 레지스트리를 운영할 수 있다.

호스트 서버 구축

Harbor 접속

Harbor의 설치가 완료되면 접속 가능한 포털 주소와 관리자 계정이 제공된다.
포털은 서버나 브라우저를 통해 접속할 수 있다

Harbor 로그인

관리자 계정에는 생성된 모든 프로젝트 및 이미지에 대한 관리 권한이 존재한다.
실제 개발 작업 시에는 각 사용자 계정을 등록하여 프로젝트와 이미지를 관리한다.
admin 계정으로 로그인하면 아래와 같은 페이지가 나타난다.

Harbor 프로젝트

프로젝트 관리

Harbor 에서는 Registry 가 아닌 “Project” 라는 이름으로 정보 저장소를 제공한다.

프로젝트 만들기

NEW PROJECT 버튼을 클릭하여 새 프로젝트를 만들 수 있다.
프로젝트 생성 시, 공개 여부를 선택할 수 있다. 추후 프로젝트 페이지의 Configuration 탭에서 수정할 수 있다.

Harbor 프로젝트 생성

프로젝트 페이지

생성된 프로젝트를 클릭하면 저장된 이미지의 목록을 보여주는 Repositories 탭을 비롯해 다양한 관리 탭이 존재한다.

Harbor 프로젝트 이미지


Harbor 사용 가이드

Client 로 포털에 접속하여 도커 이미지를 업로드하고 다운로드 받을 수 있다.

Harbor 로그인

하버에 로그인하려면 아래 명령어를 사용하여 사용자 이름과 도메인을 입력한다. 패스워드를 입력하면 “Login Succeeded” 메시지가 출력된다.

1
$ docker login -u [USER NAME] [DOMAIN NAME]

Harbor 이미지 만들기

도커 이미지 ID를 사용하여 이미지를 생성한다.

1
$ docker tag [IMAGE ID] [DOMAIN NAME]/[PROJECT]/IMAGE[:TAG]

Harbor 이미지 올리기

도커 이미지를 하버에 푸시하려면 이미지 이름을 변경한 후 아래 명령어를 사용하여 이미지를 업로드 한다.

1
$ docker push [DOMAIN NAME]/[PROJECT]/IMAGE[:TAG]

예시

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 도커 이미지 확인
$ docker images

// 도커 이미지 결과
REPOSITORY TAG IMAGE ID CREATED SIZE
test-cass/cass v1.0 d5bf39116fca 25 minutes ago 1.71GB
test-cass/search v1.0 88f3db0c15ca 25 minutes ago 2.47GB

// 하버 태그 등록
$ docker tag d5bf39116fca harbor.example.co.kr/cass/cass:v1.0
$ docker tag 88f3db0c15ca harbor.example.co.kr/cass/search:v1.0

// 하버 이미지 푸시
$ docker push harbor.example.co.kr/cass/cass:v1.0
$ docker push harbor.example.co.kr/cass/search:v1.0

참조

공유하기