Harbor的搭建(vmware企業級docker鏡像私服)


1、下載harbor,地址https://github.com/vmware/harbor
2、進入harbor-master/Deploy目錄,修改harbor.cfg文件,主要修改以下信息
     2.1、hostname =10.10.20.202 (這個是harbor所在服務器的ip,不能寫127.0.0.1)
     2.2、修改郵箱相關信息

3、執行./prepare命令

4、添加/etc/sysconfig/docker文件,文件內容如下:

OPTIONS="--insecure-registry 10.10.20.202"
5、修改/usr/lib/systemd/system/docker.service文件

  5.1、新增一行,EnvironmentFile=-/etc/sysconfig/docker,該文件只有一行內容,OPTIONS="--insecure-registry 10.10.20.202",如果/usr/lib/systemd/system/docker.service文件中不增加EnvironmentFile=-/etc/sysconfig/docker這行,下面對ExecStart的修改是不生效的。

  5.2、修改一行,ExecStart=/usr/bin/dockerd $OPTIONS

為什么要修改這個配置文件呢?--insecure-registry代表本地鏡像庫,修改了以上配置文件后需要重啟docker服務,此時docker login時,將連接指定的本地鏡像庫。

如果不修改這個配置文件,則登錄鏡像私服時(docker login 10.10.20.202)會拋出如下錯誤

Error response from daemon: Get https://10.10.20.202/v1/users/: dial tcp 10.10.20.202:443: getsockopt: connection refused

6、重啟docker服務

service docker restart

7、build並啟動
docker-compose up -d
8、從docker hub上下載hello-world鏡像
docker run hello-world
9、給鏡像打標簽,以便上傳到私服,其中library是harbor默認提供的項目
docker tag hello-world 10.10.20.202/library/hello-world
10、上傳鏡像
登錄鏡像私服,執行以下指令,再輸入用戶名和密碼
docker login 10.10.20.202
上傳鏡像
docker push 10.10.20.202/library/hello-world
11、在瀏覽器上訪問10.10.20.202,用戶名:admin,密碼:Harbor12345登錄完成后,點擊library這個項目,即可看到上傳的hello-world

 

以下附帶harbor的啟動、停止命令

【Build and start Harbor】

$ sudo docker-compose up -d
Creating harbor_log_1
Creating harbor_mysql_1
Creating harbor_registry_1
Creating harbor_ui_1
Creating harbor_proxy_1


【Stop Harbor】

$ sudo docker-compose stop
Stopping harbor_proxy_1 ... done
Stopping harbor_ui_1 ... done
Stopping harbor_registry_1 ... done
Stopping harbor_mysql_1 ... done
Stopping harbor_log_1 ... done
Restart Harbor after stopping

【Start Harbor】

$ sudo docker-compose start
Starting harbor_log_1
Starting harbor_mysql_1
Starting harbor_registry_1
Starting harbor_ui_1
Starting harbor_proxy_1
Remove Harbor's containers while keeping the image data and Harbor's database files on the file system:

【刪除Harbor】

$ sudo docker-compose rm
Going to remove harbor_proxy_1, harbor_ui_1, harbor_registry_1, harbor_mysql_1, harbor_log_1
Are you sure? [yN] y
Removing harbor_proxy_1 ... done
Removing harbor_ui_1 ... done
Removing harbor_registry_1 ... done
Removing harbor_mysql_1 ... done
Remove Harbor's database and image data (for a clean re-installation):

$ rm -rf /data/database
$ rm -rf /data/registry

 


免責聲明!

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



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