3、Harbor安裝、鏡像上傳


全部文章導航

點此查看K8S、Jenkins持續集成環境搭建全部文章

1、安裝Docker

# 安裝所需的包。yum-utils提供了yum-config-manager 效用,並device-mapper-persistent-data和lvm2由需要 devicemapper存儲驅動程序
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 設置穩定存儲庫
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安裝Docker CE
sudo yum install -y docker-ce docker-ce-cli containerd.io
# centos 8遇到 problem with installed package buildah-1.19.7-1.module_el8.4.0+781+acf4c33b.x86_64 問題
# 方法1 執行yum erase podman buildah 再執行 yum -y install docker-ce

# 設置開機啟動
sudo systemctl enable docker
sudo systemctl start docker

# 重啟docker
sudo systemctl restart docker

# 參考: https://docs.docker.com/engine/install/centos/

2、安裝Docker-compose

# 下載指定版本的docker-compose。 參考: https://github.com/docker/compose/releases查看最新版本
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  
# 將可執行權限應用於二進制文件:
sudo chmod +x /usr/local/bin/docker-compose

# 創建軟鏈:
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

# 測試是否安裝成功:
sudo docker-compose --version

3、安裝Harbor

1、下載Harbor安裝文件

 mkdir -p /harbor
 cd /harbor/
 # https://github.com/goharbor/harbor/releases 查看最新版本
 wget https://github.com/vmware/harbor/releases/download/v2.3.2/harbor-offline-installer-v2.3.2.tgz
 # 解壓
 tar -zxf harbor-online-installer-v2.3.2.tgz 

2、配置Harbor

# 切換到解壓目錄
cd harbor
# 復制配置文件
cp harbor.yml.tmpl  harbor.yml
# 創建用於存放harbor的持久化數據的目錄
mkdir -p /opt/application/harbor  
# 編輯Harbor配置信息
vim harbor.yml

harbor.yml配置文件主要修改參數如下:

# 設置訪問地址,可以使用ip、域名,不可以設置為127.0.0.1或localhost。默認情況下,harbor使用的端口是80,若使用自定義的端口,除了要改docker-compose.yml文件中的配置外,這里的hostname也要加上自定義的端口,否則在docker login、push時會報錯
hostname: 192.168.110.104
#http配置
http:
# port for http, default is 80. If https enabled, this port will redirect to https port
port: 9999                      

#https配置(如不需要可不配置,注釋掉)
# https related config
#https:
# https port for harbor, default is 443
 #port: 443
# The path of cert and key files for nginx
 #certificate: /your/certificate/path
 #private_key: /your/private/key/path

#external_url: https://reg.mydomain.com:8433      #如果要啟用外部代理,比如外層的NGINX、LB等,請取消注釋external_url,當它啟用時,hostname將不再使用。
harbor_admin_password: Harbor12345         #admin密碼

#數據庫配置
database:
# The password for the root user of Harbor DB. Change this before any production use.
password: root123
# The maximum number of connections in the idle connection pool. If it <=0, no idle connections are retained.
max_idle_conns: 50
# The maximum number of open connections to the database. If it <= 0, then there is no limit on the number of open connections.
# Note: the default number of connections is 100 for postgres.
max_open_conns: 100

#持久化數據目錄
data_volume: /opt/application/harbor

3、安裝並啟動Harbor

# 安裝
./install.sh

4、訪問harbor WEB界面

訪問地址: http://192.168.110.104:9999 用戶名: admin 密碼:Harbor12345

image-20210916152029606

5、設置開機啟動

# 創建systemd配置文件
sudo vi /usr/lib/systemd/system/harbor.service

harbor.service文件內容

[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/vmware/harbor

[Service]
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/local/bin/docker-compose -f  /harbor/harbor/docker-compose.yml up # /harbor/harbor/ 為壓縮包解壓路徑
ExecStop=/usr/local/bin/docker-compose -f /harbor/harbor/docker-compose.yml down

[Install]
WantedBy=multi-user.target

開機啟動:

# 設置開機啟動
sudo systemctl enable harbor
sudo systemctl start harbor

6、上傳下載鏡像到Harbor倉庫

1、登錄私有倉庫:

docker login 192.168.110.104:9999
Username: admin
Password: 
Error response from daemon: Get https://192.168.110.104:9999/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

Linux訪問(解決Client.Timeout exceeded while awaiting headers問題):

# 設置/etc/docker/daemon.json文件,沒有的話可以新增
vim /etc/docker/daemon.json 
{
"insecure-registries":["192.168.110.104:9999"]
}
# 然后重新啟動Docker:
sudo systemctl daemon-reload
sudo systemctl restart docker

Windows訪問(解決Client.Timeout exceeded while awaiting headers問題):

image-20210916165619577

2、新建項目:

新建項目free-test

image-20210916165015891

3、給構建好的鏡像打標簽並上傳到harbo

# 以 hello-world:latest 鏡像為例
docker tag {鏡像名稱}:{鏡像版本號} {ip}:{端口號}/{項目名稱}/{遠程倉庫使用鏡像名稱}:{遠程倉庫使用鏡像版本號}
#示例: docker tag hello-world:latest 192.168.110.104:9999/free-test/hello-world:v21.9.1.1

# 推送鏡像
docker push {ip}:{端口號}/{項目名稱}/{遠程倉庫使用鏡像名稱}:{遠程倉庫使用鏡像版本號}
#示例: docker push 192.168.110.104:9999/free-test/hello-world:v21.9.1.1

4、下載鏡像到本地

# 刪除本地鏡像
docker rmi {ip}:{端口號}/{項目名稱}/{遠程倉庫使用鏡像名稱}:{遠程倉庫使用鏡像版本號}
# 示例: docker rmi 192.168.110.104:9999/free-test/hello-world:v21.9.1.1 

# 拉取鏡像到本地
docker pull {ip}:{端口號}/{項目名稱}/{遠程倉庫使用鏡像名稱}:{遠程倉庫使用鏡像版本號} 
# 示例: docker pull 192.168.110.104:9999/free-test/hello-world:v21.9.1.1

參考資料

安裝:https://blog.csdn.net/qq_40378034/article/details/90752212

安裝:https://www.cnblogs.com/wxwgk/p/13287336.html

harbor https配置:https://www.cnblogs.com/cjwnb/p/13441071.html

**Harbor修改初始配置參數 **

 # 1、切換到harbor安裝包目錄
 cd /harbor/harbor/  
 # 2、修改配置
 ./prepare
 # 3、重啟
 docker-compose down -v   //停止Harbor
 docker-compose up -d  //啟動Harbor


免責聲明!

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



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