๐ ํ๋ก๋น์ ๋ - Harbor
๐ณ๏ธโ๐ [๊ถ๊ธํ์ ]
๐[๋ชฉ์ฐจ]
Harbor(ํ๋ฒ)๋ฅผ Docker๋ก ์ค์นํ๋ ๋ฐฉ๋ฒ์ ๊ณต์์ ์ผ๋ก Docker Compose๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์์ด ๊ฐ์ฅ ๊ฐ๋จํ๊ณ ๋๋ฆฌ ์ฌ์ฉ๋๋ค. ์ด์ ํ๊ฒฝ์์๋ HTTPS + CA ์ธ์ฆ์ + ์ธ๋ถ DB + reverse proxy ๊ตฌ์ฑ์ด ๊ถ์ฅ๋๋ค. Harbor๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ค์ ๊ตฌ์ฑ ์์๋ฅผ ํฌํจํ๋ค.
# Docker ์ค์น
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
# Docker Compose ์ค์น
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" \
-o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
wget https://github.com/goharbor/harbor/releases/download/v2.10.0/harbor-online-installer-v2.10.0.tgz
tar xzvf harbor-online-installer-v2.10.0.tgz
cd harbor
๋ฒ์ ์ ๊ณต์ GitHub ๋ฆด๋ฆฌ์ฆ์์ ์ต์ ํ์ธ ๊ฐ๋ฅ
cp harbor.yml.tmpl harbor.yml
hostname: localhost # ๋๋ IP, ๋๋ฉ์ธ (์: harbor.example.com)
http:
port: 8088 # ๊ธฐ๋ณธ ํฌํธ ๋ณ๊ฒฝ ๊ฐ๋ฅ
# https ์ค์ ์ ๊บผ๋๊ณ ์์ (ํ
์คํธ ๋ชฉ์ )
https:
enabled: false
harbor_admin_password: Harbor12345
sudo ./install.sh
์ค์น ์๋ฃ๋๋ฉด Docker Compose๋ก Harbor๊ฐ ์คํ๋๋ค
์ ์ : Harbor๊ฐ http://localhost:8088 (HTTPS ์ ์) ์ ์ค์น๋์ด ์๋ค๊ณ ๊ฐ์ ํ๋ค.
docker login localhost:8088

docker pull nginx:latest
docker tag nginx:latest localhost:8088/myproject/nginx:latest
# Harbor๋ก ํธ์
``` bash
docker push localhost:8080/myproject/nginx:latest
์น UI์์:
Projects โ test-project ํด๋ฆญ โ Repositories โ nginx์์ ํ์ธ ๊ฐ๋ฅ
/etc/docker/daemon.json์ insecure registry ์ค์ ์ด ํ์ํ ์ ์๋ค
{
"insecure-registries": ["localhost:8088"]
}
์ค์ ํ:
sudo systemctl restart docker