Harbor 란?
Harbor 는 컨테이너 레지스트리 관리 플랫폼 이다. Docker 와 같은 컨테이너 이미지의 저장소를 관리하는 시스템으로, 특히 이미지 저장소와 보안 관리에 중점을 둔다.
- 개인 / 기업용 프라이빗 레지스트리:
- Docker Hub 와 같은 공용 레지스트리 외에, 기업이나 팀에서는 자체적으로 Harbor 를 설치해 보안성과 제어권을 강화한 프라이빗 레지스트리를 운영할 수 있다.
호스트 서버 구축
- Harbor: https://goharbor.io/
- Harbor 설치 가이드: https://goharbor.io/docs/
Harbor 접속
Harbor의 설치가 완료되면 접속 가능한 포털 주소와 관리자 계정이 제공된다.
포털은 서버나 브라우저를 통해 접속할 수 있다
관리자 계정에는 생성된 모든 프로젝트 및 이미지에 대한 관리 권한이 존재한다.
실제 개발 작업 시에는 각 사용자 계정을 등록하여 프로젝트와 이미지를 관리한다.
admin 계정으로 로그인하면 아래와 같은 페이지가 나타난다.
프로젝트 관리
Harbor 에서는 Registry 가 아닌 “Project” 라는 이름으로 정보 저장소를 제공한다.
프로젝트 만들기
NEW PROJECT
버튼을 클릭하여 새 프로젝트를 만들 수 있다.
프로젝트 생성 시, 공개 여부를 선택할 수 있다. 추후 프로젝트 페이지의 Configuration 탭에서 수정할 수 있다.
프로젝트 페이지
생성된 프로젝트를 클릭하면 저장된 이미지의 목록을 보여주는 Repositories 탭을 비롯해 다양한 관리 탭이 존재한다.
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 | // 도커 이미지 확인 |