🔹Kubernetes
[Rocky Linux 8.10] Harbor v2.10.3 설치 및 구축 가이드
terranbin
2025. 4. 15. 14:17
728x90
SMALL
✅ 사전 준비 사항
OS | Rocky Linux 8.10 (x86_64) |
Docker | docker-ce / docker compose plugin |
Harbor 버전 | v2.10.3 (offline installer 사용) |
접근 Domain | harbor.local:5000 |
네트워크 | 폐쇄망 환경 (인터넷 미연결) |
1. Docker & Compose 설치
# Docker Engine 설치
sudo dnf install -y yum-utils device-mapper-persistent-data lvm2
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io
# Docker 서비스 활성화
sudo systemctl enable --now docker
# Compose v2 plugin 설치
mkdir -p ~/.docker/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.27.1/docker-compose-linux-x86_64 \
-o ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose
# Compose 버전 확인
docker compose version
2. Harbor 오프라인 설치 파일 다운로드 및 압축 해제
mkdir -p /opt/harbor && cd /opt/harbor
curl -LO https://github.com/goharbor/harbor/releases/download/v2.10.3/harbor-offline-installer-v2.10.3.tgz
tar xzvf harbor-offline-installer-v2.10.3.tgz
cd harbor
cp harbor.yml.tmpl harbor.yml
3. docker insecure registry 설정
cat <<EOF > /etc/docker/daemon.json
{
"insecure-registries": ["harbor.local:5000"]
}
EOF
systemctl restart docker
# Kubernetes와 함께 사용할 경우 /etc/containerd/config.toml에도 harbor mirror 추가 필요
4. harbor.yml 구성 (필수 항목 수정)
# 1. hostname 설정
sed -i 's/^#\?hostname:.*/hostname: harbor.local/' harbor.yml
# 2. harbor_admin_password 설정 (없으면 hostname 아래에 삽입)
grep -q '^harbor_admin_password:' harbor.yml \
|| sed -i '/^hostname:/a harbor_admin_password: Harbor12345' harbor.yml
# 3. https 블록 전체 주석 처리 (data_volume 전까지)
sed -i '/^https:/,/^data_volume:/ s/^/#/' harbor.yml
# 4. data_volume 경로 설정
sed -i 's/^#data_volume:.*/data_volume: \/data/' harbor.yml
# 5. database 블록 전체 주석 해제
sed -i '/^#database:/,/^# conn_max_idle_time:/s/^#//' harbor.yml
5. /etc/hosts 등록
IP=$(hostname -I | awk '{print $1}')
grep -q "harbor.local" /etc/hosts || echo "$IP harbor.local" >> /etc/hosts
6. Harbor prepare 실행
cd /opt/harbor/harbor
rm -rf common
./prepare
prepare 명령이 성공적으로 실행되면 docker-compose.yml 파일이 생성됩니다.
7. Harbor 기동 (docker compose)
# 포트 변경
sed -i 's/80:8080/5000:8080/' docker-compose.yml
# docker-compose.yml 파일 확인
ls -l docker-compose.yml
# Compose V2 (plugin)
docker compose up -d
8. 정상 설치 확인
# nginx 포함 컨테이너 상태 확인
docker ps | grep nginx
curl -i http://harbor.local:5000
curl http://harbor.local:5000/v2/
curl -u admin:Harbor12345 http://harbor.local:5000/api/v2.0/projects
# 테스트 이미지 push
docker login harbor.local:5000
# admin / Harbor12345
docker tag hello-world harbor.local:5000/library/hello-world
docker push harbor.local:5000/library/hello-world
- 추가적으로 Window 에서 보고 싶다면
- C:\Windows\System32\drivers\etc\hosts (메모장 관리자 권한으로 실행)
- window (host os) 에서, 아래와 같이 볼 수 있다
192.168.56.101 harbor.local
LIST