docker 설치

진웅·2025년 8월 19일

좋습니다! 이제 Docker 설치부터 Harbor 설치까지 단계별로 안내해드리겠습니다.

1. Docker 설치

RHEL/CentOS/Rocky Linux/AlmaLinux

# 기존 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

Ubuntu/Debian

# 기존 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

2. Docker 설치 확인

# Docker 버전 확인
docker --version
sudo docker version

# Docker Compose 버전 확인
docker compose version

# Docker 서비스 상태 확인
sudo systemctl status docker

# 테스트 컨테이너 실행
sudo docker run hello-world

3. 사용자를 docker 그룹에 추가 (선택사항)

# 현재 사용자를 docker 그룹에 추가
sudo usermod -aG docker $USER

# 그룹 변경 적용 (재로그인 또는 다음 명령 실행)
newgrp docker

# sudo 없이 docker 명령 테스트
docker run hello-world

4. Harbor 오프라인 설치 준비

Harbor 다운로드

# 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

Harbor 설정 파일 준비

# 설정 템플릿 복사
cp harbor.yml.tmpl harbor.yml

# 설정 파일 편집
vi harbor.yml

Harbor 기본 설정 예제

# 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

5. Harbor 설치 실행

기본 설치 (Notary, Clair 없이)

# 설치 스크립트 실행
sudo ./install.sh

전체 기능 설치 (권장)

# Notary, Clair, Chart Museum 포함 설치
sudo ./install.sh --with-notary --with-clair --with-chartmuseum

6. 설치 완료 확인

Docker 컨테이너 확인

# Harbor 컨테이너들이 실행 중인지 확인
docker ps

# 다음과 같은 컨테이너들이 보여야 합니다:
# - harbor-core
# - harbor-portal
# - harbor-db
# - redis
# - registry
# - registryctl
# - harbor-log

Harbor 웹 접속

# 웹 브라우저에서 접속
http://your-harbor-domain.com
# 또는
http://your-server-ip

# 기본 로그인 정보
# 사용자명: admin
# 비밀번호: harbor.yml에서 설정한 harbor_admin_password

7. Harbor 관리 명령어

Harbor 시작/중지

# 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

8. Docker 클라이언트 설정

HTTP 접속 설정 (HTTPS 미사용시)

# 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 로그인 테스트

# 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

9. 방화벽 설정 (필요시)

# 포트 열기
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 이미지를 관리할 수 있습니다.

혹시 설치 과정에서 문제가 발생하면 알려주세요!

profile
bytebliss

0개의 댓글