좋습니다! 이제 Docker 설치부터 Harbor 설치까지 단계별로 안내해드리겠습니다.
# 기존 Docker 관련 패키지 제거 (있다면)
sudo dnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
# 필수 패키지 설치
sudo dnf install -y yum-utils
# Docker CE 저장소 추가
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# Docker 설치
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Docker 서비스 시작 및 부팅시 자동 시작 설정
sudo systemctl start docker
sudo systemctl enable docker
# 기존 Docker 패키지 제거
sudo apt-get remove docker docker-engine docker.io containerd runc
# 필수 패키지 설치
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
# Docker GPG 키 추가
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# Docker 저장소 추가
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Docker 설치
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Docker 버전 확인
docker --version
sudo docker version
# Docker Compose 버전 확인
docker compose version
# Docker 서비스 상태 확인
sudo systemctl status docker
# 테스트 컨테이너 실행
sudo docker run hello-world
# 현재 사용자를 docker 그룹에 추가
sudo usermod -aG docker $USER
# 그룹 변경 적용 (재로그인 또는 다음 명령 실행)
newgrp docker
# sudo 없이 docker 명령 테스트
docker run hello-world
# Harbor 다운로드 디렉토리 생성
mkdir -p ~/harbor-install
cd ~/harbor-install
# Harbor 오프라인 설치 파일 다운로드 (버전 2.0.0)
wget https://github.com/goharbor/harbor/releases/download/v2.0.0/harbor-offline-installer-v2.0.0.tgz
# 압축 해제
tar xzf harbor-offline-installer-v2.0.0.tgz
cd harbor
# 설정 템플릿 복사
cp harbor.yml.tmpl harbor.yml
# 설정 파일 편집
vi harbor.yml
# harbor.yml 주요 설정 항목들
hostname: your-harbor-domain.com # 또는 IP 주소
# HTTP 설정
http:
port: 80
# HTTPS 설정 (선택사항)
# https:
# port: 443
# certificate: /your/certificate/path
# private_key: /your/private/key/path
# Harbor 관리자 비밀번호
harbor_admin_password: YourStrongPassword123
# 데이터베이스 설정
database:
password: DatabasePassword123
max_idle_conns: 50
max_open_conns: 1000
# 데이터 저장 경로
data_volume: /data
# 설치 스크립트 실행
sudo ./install.sh
# Notary, Clair, Chart Museum 포함 설치
sudo ./install.sh --with-notary --with-clair --with-chartmuseum
# Harbor 컨테이너들이 실행 중인지 확인
docker ps
# 다음과 같은 컨테이너들이 보여야 합니다:
# - harbor-core
# - harbor-portal
# - harbor-db
# - redis
# - registry
# - registryctl
# - harbor-log
# 웹 브라우저에서 접속
http://your-harbor-domain.com
# 또는
http://your-server-ip
# 기본 로그인 정보
# 사용자명: admin
# 비밀번호: harbor.yml에서 설정한 harbor_admin_password
# Harbor 중지
cd ~/harbor-install/harbor
sudo docker-compose down
# Harbor 시작
sudo docker-compose up -d
# Harbor 재시작
sudo docker-compose restart
# 모든 Harbor 컨테이너 로그
sudo docker-compose logs
# 특정 서비스 로그
sudo docker-compose logs harbor-core
# Docker daemon 설정 파일 편집
sudo vi /etc/docker/daemon.json
# 다음 내용 추가
{
"insecure-registries": ["your-harbor-domain.com", "your-server-ip"]
}
# Docker 재시작
sudo systemctl restart docker
sudo docker-compose -f ~/harbor-install/harbor/docker-compose.yml up -d
# Harbor에 로그인
docker login your-harbor-domain.com
# 테스트 이미지 태그 및 푸시
docker pull nginx:latest
docker tag nginx:latest your-harbor-domain.com/library/nginx:latest
docker push your-harbor-domain.com/library/nginx:latest
# 포트 열기
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload
# 또는 iptables
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
이제 Harbor가 성공적으로 설치되었습니다! 웹 인터페이스에서 프로젝트를 생성하고 Docker 이미지를 관리할 수 있습니다.
혹시 설치 과정에서 문제가 발생하면 알려주세요!