Docker鏡像倉庫Harbor部署


一、Harbor組件

組件

功能

harbor-adminserver

配置管理中心

harbor-db

Mysql數據庫

harbor-jobservice

負責鏡像復制

harbor-log

記錄操作日志

harbor-ui

Web管理頁面和API

nginx

前端代理,負責前端頁面和鏡像上傳/下載轉發

redis

會話

registry

鏡像存儲

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

二、Harbor部署

Harbor安裝有3種方式:

l  在線安裝:從Docker Hub下載Harbor相關鏡像,因此安裝軟件包非常小

l  離線安裝:安裝包包含部署的相關鏡像,因此安裝包比較大

l  OVA安裝程序:當用戶具有vCenter環境時,使用此安裝程序,在部署OVA后啟動Harbor

我們采用離線安裝,首先下載離線安裝包:https://github.com/vmware/harbor/releases

HTTP方式部署

首選安裝docker

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

yum -y install docker-ce-18.06.1.ce-3.el7
systemctl enable docker && systemctl start docker
docker --version

修改倉庫地址,注意這個地方很重要,如果不上傳可以忽略

cat >/etc/docker/daemon.json <<EOF
{
  "registry-mirrors": [
    "https://registry.docker-cn.com"
 ],
  "insecure-registries": [

    "192.168.10.122"
  ]
}
EOF

驗證是否成功

systemctl daemon-reload
systemctl restart docker.service
docker info

安裝docker-compose   

yum install -y docker-compose

Harbor下載地址:

https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.5.tgz

解壓文件

tar xf harbor-offline-installer-v1.7.5.tgz

cd harbor/

編輯配置文件

vim /root/harbor/harbor.cfg 確保下面幾個地方沒問題,如果不是有80端口,可以加上端口號,不會與其他端口沖突,例如:192.168.10.122

#不加證書http
hostname = 192.168.10.122
ui_url_protocol = http
harbor_admin_password = Harbor12345

#下面的是加證的配置https
#hostname = reg.fage.com
#ui_url_protocol = http
#ssl_cert = ./ssl/reg.fage.com.crt
#ssl_cert_key = ./ssl/reg.fage.com.key
#harbor_admin_password = Harbor12345

 准備配置文件:

./prepare

 開始安裝並啟動barbor

cd /root/harbor/ && ./install.sh

驗證

cd installpath && docker-compose ps

需要狀態全部為UP才是成功的

瀏覽器輸入地址就可以訪問了

http://192.168.10.122

賬號:admin  

密碼:Harbor12345

 

上傳鏡像到harbor

接下來將剛才構建的鏡像推送到Harbor倉庫,先看看我們要推送的鏡像

docker images

在推送之前,需要注意第一列,這個完整格式是

regisry.stnrs.com/library/hello-word:latest

鏡像中心域名     項目名稱   名稱    版本

 

如果鏡像只放在本地存儲REPOSITORY寫什么都可以,但推送到鏡像倉庫就必須指定倉庫中心地址。 

所以,先打重命名REPOSITORY,其實就是引用源鏡像標記了一個目標鏡像

 

上傳鏡像需要先登錄,不登錄會報錯

docker image tag nginx 192.168.10.122/library/nginx-1

docker login 192.168.10.122

docker push 192.168.10.122/library/nginx-1

登錄網頁看也一樣能看到鏡像

http://192.168.10.122/harbor/projects/1/repositories

客戶端使用

如果沒有加入證書就要修改這個文件才能登錄

cat >/etc/docker/daemon.json <<EOF
{
  "registry-mirrors": [
    "https://b9pmyelo.mirror.aliyuncs.com"
 ],
  "registry-mirrors": [
    "https://registry.docker-cn.com"
  ],
  "insecure-registries": [
    "192.168.10.112"
  ]
}
EOF

重置系統環境

systemctl daemon-reload
systemctl restart docker.service

登錄成功后才能上傳鏡像

docker login 192.168.10.112
docker image tag nginx-v1 192.168.10.112/nginx-v1
docker push 192.168.10.112/nginx-v1

加密方式

docker login reg.fage.com
docker image tag nginx-v1 reg.fage.com/nginx-v1
docker push reg.fage.com /nginx-v1

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM