Harbor 컨테이너 레지스트리: 복제(Replication)와 보안 스캔

💡 핵심 요약 (Executive Summary)

본 가이드는 harbor 핵심 가이드 및 실전 아키텍처의 핵심 개념, 실전 구성 명령어 및 아키텍처 베스트 프랙티스를 다룹니다. 클라우드 네이티브 및 인프라 엔지니어링 실무에 즉시 활용 가능하도록 체계적으로 정리했습니다.

📑 Table of Contents
참조 링크
Issue
  • 빌드 직후 이미지는 왼쪽과 같이 어느정도 내용확인이 가능하지만
  • harbor에서 pull받은 이미지의 경우 오른쪽과 같이 sha256암호화되어있음

수동 배포

사전 준비
Reference & Guidelines (NOTE)

App 배포시 아래의 폴더를 삭제한다. (모두 gitignore 정의됨)

  1. /src/main/resources/public
  2. /src/main/resources/static
  3. /target
bash
# vi /etc/hosts 추가
100.0.0.184 harbor.Enterprise Cloud.cld

# mvn 설치
which mvn
# 결과 없을경우 mvn 설치
brew install mvn

# Docker desktop 실행 후 아래 스크립트 실행.
docker pull harbor.Enterprise Cloud.cld/dream-markone/openjdk-font-cce:8-jre

# 결과 없을경우 로그인 [링크1] 참조
docker login harbor.Enterprise Cloud.cld

# 안될 경우 아래의 DockerDesktop : Insecure 설정 참조
  "insecure-registries": [
    "harbor.Enterprise Cloud.cld"
  ],
Docker Desktop
IntelliJ
Reference & Guidelines (NOTE)

Maven build to .jar, Docker build to Image

bash
# build-deploy.sh 파일 수정 APP_PATH, APP_NAME
bash @git/build-deploy.sh build

# 둘 다 성공했다면
mkdir {폴더}
cd {폴더}
bash ../build-deploy.sh save

# [링크2] 참조
scp -r ../{폴더} spjang@<PUBLIC_IP_REDACTED>:deploy
bash
#Implements
bash ~/workspaces/flowerduet-test/build-deploy.sh build
rm -r _tmp
mkdir _tmp
cd _tmp
bash ../build-deploy.sh save

scp -r ../_tmp spjang@<PUBLIC_IP_REDACTED>:deploy
Terminal

[링크2] spjang@ 접속

bash
cd ~/deploy

# [링크3] 참조
scp -r ../_temp/ [email protected]:deploy

[링크3] [email protected] 접속 (go-harbor)

bash
sudo -i
cd /home/ubuntu/deploy/{폴더}

docker load -i {이미지 파일}
# 기존 이미지:latest는 태그가 사라짐
docker push {이미지 명}:latest

# 파드 재시작
kubectl rollout restart -n portal deployment {admin-api user-app user-api}

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *