Docker之Registry私有倉庫+Harbor私有倉庫的搭建

博文大綱:git

  • 1、搭建Registry私有倉庫
  • 2、配置Harbor私有倉庫

這篇博文寫的是兩種不一樣的搭建Docker私有倉庫的方法,都必需要基於一個Docker服務器上,相比較而言,Harbor功能更強大些。github

以前詳細寫過Registry私有倉庫的搭建方法,這裏的Registry只是有一點配置不同而已,若要搭建Registry私有倉庫,最好結合:Docker鏡像的建立+構建私有倉庫及其使用方法這篇博文來,對比其不同的地方,選擇適合本身的方案。web

1、搭建Registry私有倉庫

環境準備:docker

  • 兩臺centos 7.3,一臺爲Docker私有倉庫服務器,另外一臺爲測試端,兩臺須可ping通;
  • 參考博文:Docker的安裝詳細配置,對兩臺服務器進行安裝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"]}

二、第二臺Docker服務器進行以下操做:

[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      #確認下載的鏡像

2、配置Harbor私有倉庫

Harbor私有倉庫和第一個Registry私有倉庫相比較而言,功能強大不少,而且支持web圖形化管理,推薦使用。vim

環境和搭建Registry的同樣,以下:centos

  • 兩臺centos 7.3,一臺爲Docker私有倉庫服務器,另外一臺爲測試端,兩臺須可ping通;
  • 參考博文:Docker的安裝詳細配置,對兩臺服務器進行安裝docker環境。

一、打開github.com官網,在登陸頁面的右上角搜索compose找到docker/compose再找releases,(網址:https://github.com/docker/compose/releases) 以下:

Docker之Registry私有倉庫+Harbor私有倉庫的搭建

複製本身所需版本下提供的兩條命令,在第一臺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

二、去github官網搜索harbor,再點擊goharbor/harbor,再點擊「releases」,根據本身所需,下載相應的版本,上傳至服務器(網址以下:https://github.com/goharbor/harbor/releases 也可下載在線安裝的包,我沒試過,可自行嘗試),以下:

Docker之Registry私有倉庫+Harbor私有倉庫的搭建

[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    #啓動全部容器

三、使用瀏覽器訪問harbor服務器的IP地址,使用配置文件中指定的用戶名及密碼登陸(默認用戶爲「admin」,密碼爲「Harbor12345」):

Docker之Registry私有倉庫+Harbor私有倉庫的搭建

**服務器

四、點擊「新建項目」:

Docker之Registry私有倉庫+Harbor私有倉庫的搭建

五、定義項目名稱:

Docker之Registry私有倉庫+Harbor私有倉庫的搭建

六、回到Harbor服務器,開始想Harbor上傳鏡像:

[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

七、測試,第二臺Docker的測試端配置以下:

[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服務器上傳的鏡像

———————— 本文至此結束,感謝閱讀 ————————app

相關文章
相關標籤/搜索