1. 程式人生 > 其它 >最新Harbor私有化映象倉庫搭建

最新Harbor私有化映象倉庫搭建

Harbor目前有兩種安裝方式(harbor適合團隊映象管理,分專案和使用者等,如果你只是為了私有化專案docker部署,直接用register倉庫吧,沒必要搞harbor這麼繁瑣的)

1、harbor線上部署

2、harbor離線部署

推薦:使用離線部署方式,裡面包含harbor所有需要的映象(很多),所以側面反應不想著用一條docker pull harbor就實現了,除非你自己去製作dockerfile,至少目前官方還未推出

 

離線部署Harbor

一、安裝部署docker-compose,離線包裡儲存的是harbor需要的映象包,他們通過docker-compose編排釋出服務,所以docker-compose工具是必不可少的

       自行百度或者拷貝一個docker-compose命令到本機系統變數裡,有python就使用pip直接安裝

二、下載安裝Harbor

        1、下載地址https://github.com/goharbor/harbor/releases,自行選擇最新harbor-offline-installer版本下載

        2、這裡以harbor-offline-installer-v1.10.10.tgz為例子

             wget https://github.com/goharbor/harbor/releases/download/v1.10.10/harbor-offline-installer-v1.10.10.tgz

             tar zxvf harbor-offline-installer-v1.10.10.tgz

        3、進入解壓目錄修改harbor配置檔案harbor.yml(幾個重要配置修改,其他的保持不動就行)

             hostname: 192.168.xx.xx   (改成IP或者域名,別改127.0.0.1和localhost)  

             port:8080  (web頁面埠,自行確定)

              註釋https選項和下面證書等,預設採用https,麻煩,還影響速度,本來就是內網用,沒必要搞https認證

             harbor_admin_password  設定一個你的web登入密碼 登入賬號是admin,預設密碼是Harbor12345

             data_volume  映象存放目錄,自行找個空間大的地方放

             location  存放日誌的地方,自行找個目錄放

        4、執行安裝指令碼install.sh (harbor會自行load其需要的相關映象,並通過docker-compose釋出)

             sh install.shhe

        5、部署成功harbor並驗證且實現免密登入

                    a、建立一個私有test專案

             

 

                     b、建立一個使用者,並在剛剛test專案中新增這個使用者為管理員

                      

 

                         

 

               6、登入倉庫並推送一個試試

                   

 

 

              ps:登入的地址為harbor地址加專案名,使用者責任你為這個專案繫結的使用者,看見報錯是正常的,因為不是很老的docker話,其都是預設https方式,下面為解決辦法

             7、在/etc/docker/daemon.json 新增不安全認證引數

              

            8、停止harbor,重啟docker,然後再登入

                docker-compose down -v    關閉harbor相關映象

                systemctl restart docker 重啟docker 

                docker-compose up  -d 啟動harbor映象

            9、登入harbor,並推送和拉去映象驗證

                 docker login 192.168.239.110:8080/test

                docker tag nginx 192.168.239:110:8080/test/nginx:v1 

                docker push nginx 192.168.239.110:8080/test:v1