您好,登錄后才能下訂單哦!
博文大綱:
- 一、搭建Registry私有倉庫
- 二、配置Harbor私有倉庫
這篇博文寫的是兩種不同的搭建Docker私有倉庫的方法,都必須要基于一個Docker服務器上,相比較而言,Harbor功能更強大些。
之前詳細寫過Registry私有倉庫的搭建方法,這里的Registry只是有一點配置不一樣而已,若要搭建Registry私有倉庫,最好結合:Docker鏡像的創建+構建私有倉庫及其使用方法這篇博文來,對比其不一樣的地方,選擇適合自己的方案。
環境準備:
- 兩臺centos 7.3,一臺為Docker私有倉庫服務器,另一臺為測試端,兩臺須可ping通;
- 參考博文:Docker的安裝詳細配置,對兩臺服務器進行安裝docker環境。
[root@docker ~]# docker pull registry #下載registry鏡像
[root@docker ~]# docker run -tid --name registry --restart=always -p 5000:5000 -v /data/registry:/var/lib/registry registry
#運行該鏡像,各個選項含義如下:
# -tid:以后臺持久運行,并分配一個可交互的為終端
# --name registry :給容器定義一個名字
# --restart=always:該容器可以隨著docker服務的啟動而啟動
# -p:將容器的端口映射到宿主機,冒號前面是宿主機的端口,冒號后面是容器的端口,registry的默認端口是5000
# -v:將宿主機的目錄掛載到容器中,冒號前面是宿主機的目錄,冒號后面是容器中的目錄
[root@docker ~]# docker images #查看當前的鏡像
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 0f3e07c0138f 2 weeks ago 220MB
registry latest f32a97de94e1 7 months ago 25.8MB
[root@docker ~]# docker tag centos:latest 192.168.20.7:5000/centos:latest
#更改鏡像名稱,以便符合私有倉庫名稱規范
#注:私有倉庫鏡像的命名規則:192.168.20.7:5000/XXX(宿主機的IP:5000端口/鏡像名稱)
[root@docker ~]# vim /usr/lib/systemd/system/docker.service #更改docker的配置文件,以便指定私有倉庫
ExecStart=/usr/bin/dockerd -H unix:// --insecure-registry 192.168.20.7:5000
#定位到上面那行,在后面添加“--insecure-registry”并指定私有倉庫的IP及端口,然后保存退出即可
[root@docker ~]# systemctl daemon-reload #重載配置文件
[root@docker ~]# systemctl restart docker #重啟docker服務
[root@docker ~]# docker push 192.168.20.7:5000/centos:latest #上傳鏡像至私有倉庫
[root@docker ~]# curl 192.168.20.7:5000/v2/_catalog #查看私有倉庫中的鏡像
{"repositories":["centos"]}
[root@docker ~]# curl 192.168.20.7:5000/v2/centos/tags/list #查看鏡像的詳細信息
{"name":"centos","tags":["latest"]}
[root@docker02 ~]# vim /usr/lib/systemd/system/docker.service #編輯主配置文件
ExecStart=/usr/bin/dockerd -H unix:// --insecure-registry 192.168.20.7:5000
#定位到上面那行,添加“--insecure-registry”指定私有倉庫的IP及參數
#添加完成后,保存退出即可
[root@docker02 ~]# systemctl daemon-reload #重載配置文件
[root@docker02 ~]# systemctl restart docker #重啟docker服務
[root@docker02 ~]# docker pull 192.168.20.7:5000/centos:latest
#下載私有倉庫的中的鏡像
[root@docker02 ~]# docker images #確認下載的鏡像
Harbor私有倉庫和第一個Registry私有倉庫相比較而言,功能強大很多,并且支持web圖形化管理,推薦使用。
環境和搭建Registry的一樣,如下:
- 兩臺centos 7.3,一臺為Docker私有倉庫服務器,另一臺為測試端,兩臺須可ping通;
- 參考博文:Docker的安裝詳細配置,對兩臺服務器進行安裝docker環境。
復制自己所需版本下提供的兩條命令,在第一臺Docker服務器上依次進行操作:
[root@docker ~]# yum -y install yum-utils device-mapper-persistent-data lvm2 #安裝依賴包
[root@docker ~]# curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
#復制官網上的上述命令
[root@docker ~]# chmod +x /usr/local/bin/docker-compose #賦予該命令執行權限
[root@docker ~]# docker-compose -version #查看其版本信息
docker-compose version 1.24.1, build 4667896b
[root@docker ~]# tar zxf harbor-offline-installer-v1.7.4.tgz -C /usr/src
#將下載的安裝包解壓到指定目錄
[root@docker src]# cd /usr/src/harbor/ #切換至解壓后的目錄中
[root@docker harbor]# vim harbor.cfg #編輯這個配置文件
..............#省略部分內容
hostname = 192.168.20.7 #將hostname更改為本機IP
harbor_admin_password = Harbor12345 #這行指定的是登錄harbor的登錄名及密碼
#默認用戶為“admin”,密碼為“Harbor12345”
..............#省略部分內容
[root@docker harbor]# ./install.sh #執行自帶的安裝腳本
[root@docker harbor]# netstat -antp | grep 80 #確定80端口正在監聽
[root@docker harbor]# vim /usr/lib/systemd/system/docker.service #編輯docker主配置文件
ExecStart=/usr/bin/dockerd -H unix:// --insecure-registry 192.168.20.7:80
#定位到該行,添加“--insecure-registr”以便指定harbor的IP及其監聽端口
[root@docker harbor]# systemctl daemon-reload #重新加載配置文件
[root@docker harbor]# systemctl restart docker #重啟docker服務
[root@docker harbor]# docker-compose stop #停止所有容器
[root@docker harbor]# docker-compose start #啟動所有容器
**
[root@docker harbor]# docker login -u admin -p Harbor12345 192.168.20.7:80 #命令行登錄到harbor
[root@docker harbor]# docker tag centos:latest 192.168.20.7:80/test/centos:latest #更改鏡像名稱
#注意要上傳至harbor倉庫的命名規范,其中test是剛才在harbor創建的項目
[root@docker harbor]# docker push 192.168.20.7:80/test/centos:lates #上傳至harbor
[root@docker02 ~]# vim /usr/lib/systemd/system/docker.service #編輯其配置文件
ExecStart=/usr/bin/dockerd -H unix:// --insecure-registry 192.168.20
.7:80
#指定Harbor服務器的IP地址及80端口
[root@docker02 ~]# systemctl daemon-reload
[root@docker02 ~]# systemctl restart docker #重啟docker
[root@docker02 ~]# docker login -u admin -p Harbor12345 192.168.20.7:80
#登錄到私有倉庫
[root@docker02 ~]# docker pull 192.168.20.7:80/test/centos:latest
#至此即可下載第一臺docker服務器上傳的鏡像
———————— 本文至此結束,感謝閱讀 ————————
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。