본문으로 바로가기

[RHEL8] Harbor (Container Image Registry) 설치

category Linux/RHEL7 & 8 2021. 11. 24. 18:56
반응형

컨테이너를 사용하다보니 인터넷이 되면 외부의 registry를 통해서 image를 설치하면 되는데, 실상 플랫폼 구축등을 하면 외부 연결을 통해 설치 및 구축 할 수 있는 환경 제공이 어렵습니다.

 

그래서 Harbor는 오픈소스 컨테이너 이미지 레지스트리를 제공합니다.

Local (Private) Docker Registry를 쉽게 설치 및 구성하고 유지보수 가능하게하며 Project별로 구분하여 관리할 수 있는 장점을 제공하고 있습니다.

 

 

Harbor를 설치한 RHEL 버전은 8.4입니다.

 

1. Docker 외부 Repository 추가

[root@rhocp-registry yum.repos.d]# sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

[root@rhocp-registry yum.repos.d]# sudo dnf repolist -v | grep docker
Failed to set locale, defaulting to C.UTF-8
Docker CE Stable - x86_64                       162 kB/s | 3.5 kB     00:00
Repo-id            : docker-ce-stable
Repo-baseurl       : https://download.docker.com/linux/centos/8/x86_64/stable
Repo-filename      : /etc/yum.repos.d/docker-ce.rep

 

 

2. docker-ce 설치

[root@rhocp-registry yum.repos.d]# sudo dnf install docker-ce-3:20.10.9-3.el8

 

 

3. docker 서비스 활성화

[root@rhocp-registry yum.repos.d]# systemctl enable docker --now
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.

[root@rhocp-registry yum.repos.d]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@rhocp-registry yum.repos.d]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2021-11-24 17:34:51 KST; 4s ago
...

 

 

4. docker-compose 다운로드

[root@rhocp-registry ~]# curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   633  100   633    0     0   1316      0 --:--:-- --:--:-- --:--:--  1313
100 11.2M  100 11.2M    0     0  6148k      0  0:00:01  0:00:01 --:--:-- 21.9M

[root@rhocp-registry ~]# ls
docker-compose

[root@rhocp-registry ~]# sudo mv docker-compose /usr/local/bin && sudo chmod +x /usr/local/bin/docker-compose

 

 

5. harbor 다운로드 및 압축해제

[root@rhocp-registry ~]# curl -s https://api.github.com/repos/goharbor/harbor/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep '\.tgz$' | wget -i -

[root@rhocp-registry ~]# tar xvf harbor-offline-installer-v2.3.4.tgz

[root@rhocp-registry ~]# cd harbor

 

 

6. harbor 설치파일 백업

[root@rhocp-registry harbor]# cp -pr harbor.yml.tmpl harbor.yml

 

 

7. harbor 설치파일 구성

본 내용에서는 빠른 설치를 위하여 http로 설치하였고, 정리한 후에 아래 블로그를 통해 https로 재 구성 하였습니다.

https://wookiist.dev/126

 

 

harbor.yml 파일에서 아래 항목 설정만 후 저장합니다.

 - hostname : 테스트환경의 IP로 변경

 - https 관련 주석처리

 - harbor 웹 브라우저 접속시 비번설정

hostname: 55.55.31.12

# https related config
#https:
  # https port for harbor, default is 443
  #  port: 8080
  # The path of cert and key files for nginx
  #  certificate: /your/certificate/path
  #  private_key: /your/private/key/path

harbor_admin_password: root123

 

 

8. harbor 설치

[root@rhocp-registry harbor]# ./install.sh

[Step 0]: checking if docker is installed ...

Note: docker version: 20.10.11

[Step 1]: checking docker-compose is installed ...

Note: docker-compose version: 1.23.2

...

[Step 5]: starting Harbor ...
Creating network "harbor_harbor" with the default driver
Creating harbor-log ... done
Creating harbor-db     ... done
Creating redis         ... done
Creating registry      ... done
Creating registryctl   ... done
Creating harbor-portal ... done
Creating harbor-core   ... done
Creating nginx             ... done
Creating harbor-jobservice ... done
✔ ----Harbor has been installed and started successfully.----

 

 

9. harbor 웹 브라우저 접속

http://<Server IP>

 

 

10. harbor 로그인

admin / root123

 

728x90