Harbor 설치하고 접속하기

Harbour 설치 및 연결

포트의 설치 조건

도커 17.06.0-ce+
Docker Compose docker-compose(v1.18.0+) 또는 docker compose v2
openssl

Docker Compose 설치

# curl을 사용하여 GitHub 릴리스 페이지에서 현재 시스템 아키텍처(uname -s 및 uname -m 명령으로 식별됨)에 대한 Docker Compose 바이너리를 다운로드하고 /usr/local/bin 디렉터리에 배치합니다.

curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 다운로드한 Docker Compose 바이너리에 대한 실행 권한 설정
chmod +x /usr/local/bin/docker-compose
# 전체 경로를 지정하지 않고 명령줄에서 실행할 수 있도록 /usr/bin/docker-compose에서 /usr/local/bin의 docker-compose 바이너리로 심볼릭 링크를 만듭니다.

ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

# 버전 정보 표시
docker-compose -version

OpenSSL 업데이트

(Harbor는 사용 가능한 최신 OpenSSL을 권장합니다)
# 시스템에 OpenSSL이 이미 설치되어 있는지 확인
ls /usr/bin/openssl

# OpenSSL을 구축하는 데 필요한 필수 개발 도구 및 종속성 라이브러리를 설치합니다.

yum -y install gcc gcc-c++ perl pcre-devel zlib-devel wget

# OpenSSL 버전 1.1.1t 소스 코드를 다운로드하고 openssl-1.1.1t라는 디렉토리에 압축을 풉니다.

wget https://www.openssl.org/source/openssl-1.1.1t.tar.gz --no-check-certificate
tar xvfz openssl-1.1.1t.tar.gz
# 추출된 디렉토리로 변경하고 구성 스크립트를 실행하여 지정된 구성 옵션으로 OpenSSL용 빌드 환경을 준비합니다.

–openssldir 옵션은 OpenSSL 구성 파일이 저장되는 디렉토리를 지정합니다.

공유 및 zlib 옵션은 각각 zlib 라이브러리를 사용하여 공유 라이브러리 지원 및 압축을 활성화합니다.

cd openssl-1.1.1t
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib

# 기존 폴더 백업 후 생성
mv /usr/bin/openssl /usr/bin/openssl_bak
make && make install

# 기본 라이브러리 디렉토리(/usr/lib64/)의 OpenSSL 공유 라이브러리와 시스템 바이너리 디렉토리(/usr/bin/)의 openssl 바이너리에 대한 심볼릭 링크를 만듭니다.

ln -s /usr/local/ssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/ssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
# 설치 확인
openssl version

설치 포트

# 다운로드 포트

# 설치하려는 버전의 온라인 또는 오프라인 설치 프로그램을 다운로드하고 압축을 풉니다.

wget https://github.com/goharbor/harbor/releases/download/v1.10.16/harbor-offline-installer-v1.10.16.tgz
tar xzvf harbor-offline-installer-v1.10.16.tgz

Harbour.yml 구성

  • Harbour.yml은 Harbour를 설치하거나 재구성하기 위해 스크립트를 실행할 때 적용됩니다.

  • 필수 매개변수는 주석 처리되지 않습니다.

    선택적 매개변수는
    # 주석 처리됨
  • 제공된 기본값에서 필수 매개변수 값을 변경할 필요는 없지만 이러한 매개변수는 주석 처리되지 않은 상태로 두어야 합니다.

  • 최소한 호스트 이름 매개변수를 업데이트해야 합니다.

Harbor의 작동을 테스트하기 위해 HTTP를 통해 설치해 보겠습니다.

이때 HTTPS 설정을 주석 처리하지 않으면 SSL_CERT 설정이 부족하여 설치가 진행되지 않습니다.

따라서 테스트는 HTTP로 계속 진행해야 하며 실제 배포 환경에서는 HTTPS를 사용해야 합니다.

vi harbor.yml
hostname -> VM 내부 IP로 설정
HTTPS 관련 설정 주석처리
# 스크립트 실행
./install.sh

# 사용자에게 자격 증명을 묻고 등록 시 인증합니다.

docker login 192.168.1.10
# Docker의 이미지를 Harbour로 푸시
docker push 192.168.1.10/myproject/myrepo:mytag
# 웹 사용자 인터페이스에 대한 액세스
http://192.168.1.10
# 초기 계정, 비밀번호
관리자, Harbor12345