Podman이나 Docker로 Harbor 레지스트리를 구축하는 가장 안정적이고 쉬운 방법은 공식 설치 스크립트를 사용하는 것입니다. 이 스크립트는 Docker Compose를 기반으로 Harbor의 모든 구성 요소를 컨테이너로 실행하여 설치와 관리를 매우 편리하게 해줍니다.
podman-compose를 사용하면 Podman 환경에서도 동일한 방식으로 설치할 수 있습니다. 여기서는 Docker/Podman 양쪽에서 모두 사용 가능한 공식 Docker Compose 기반의 설치법을 안내합니다.
podman-compose)Harbor 공식 GitHub 릴리스 페이지로 이동합니다.
원하는 버전의 Online 또는 Offline 설치 파일을 다운로드합니다.
# 최신 버전의 온라인 설치 파일 다운로드 (예: v2.11.1)
wget https://github.com/goharbor/harbor/releases/download/v2.11.1/harbor-online-installer-v2.11.1.tgz
# 압축 해제
tar xzvf harbor-online-installer-v2.11.1.tgz
압축을 푼 디렉토리로 이동하여 설정 템플릿 파일을 복사하고 수정합니다.
cd harbor
cp harbor.yml.tmpl harbor.yml
이제 vi나 nano 같은 편집기로 harbor.yml 파일을 열고, 최소한 다음 두 항목을 필수로 수정해야 합니다.
hostname: Harbor에 접속할 IP 주소 또는 도메인 이름을 입력합니다. (예: harbor.yourdomain.com 또는 192.168.0.10)harbor_admin_password: 초기 admin 계정의 비밀번호를 설정합니다. (보안을 위해 복잡하게 설정하세요)HTTPS 설정 (운영 환경 강력 권장)
안정적인 운영을 위해서는 반드시 HTTPS를 사용해야 합니다. harbor.yml 파일의 https 섹션 주석을 풀고, 준비된 SSL 인증서와 개인 키 파일의 경로를 지정합니다.
#...
https:
# https 포트, 기본값 443
port: 443
# SSL 인증서 파일 경로
certificate: /path/to/your/certificate.crt
# SSL 개인 키 파일 경로
private_key: /path/to/your/private_key.key
#...
설정이 완료되면 설치 스크립트를 실행합니다. 스크립트가 harbor.yml 파일을 읽어 Docker Compose 설정 파일을 생성하고 필요한 이미지를 다운로드한 후 컨테이너들을 실행합니다.
# Podman 사용자는 docker-compose 대신 podman-compose를 사용하도록 환경 변수를 설정할 수 있습니다.
# export COMPOSE_CMD=podman-compose
sudo ./install.sh
설치 스크립트는 다음과 같은 옵션과 함께 사용할 수 있습니다.
--with-trivy: 이미지 취약점 스캐너인 Trivy를 함께 설치합니다. (권장)--with-chartmuseum: Helm Chart 저장소 기능을 함께 설치합니다.설치가 완료되면 docker-compose ps (또는 podman-compose ps) 명령으로 모든 Harbor 컨테이너가 정상적으로 실행 중인지 확인합니다.
그 후 웹 브라우저를 열어 2단계에서 설정한 hostname으로 접속합니다. (예: https://harbor.yourdomain.com) 초기 계정은 admin과 harbor.yml에 설정한 비밀번호입니다.
이 방법이 안정성과 편의성 면에서 가장 균형 잡힌 최적의 Harbor 구축 방법입니다.