博文大綱:
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的肇源網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
- 一、搭建Registry私有倉(cāng)庫(kù)
- 二、配置Harbor私有倉(cāng)庫(kù)
這篇博文寫的是兩種不同的搭建Docker私有倉(cāng)庫(kù)的方法,都必須要基于一個(gè)Docker服務(wù)器上,相比較而言,Harbor功能更強(qiáng)大些。
之前詳細(xì)寫過Registry私有倉(cāng)庫(kù)的搭建方法,這里的Registry只是有一點(diǎn)配置不一樣而已,若要搭建Registry私有倉(cāng)庫(kù),最好結(jié)合:Docker鏡像的創(chuàng)建+構(gòu)建私有倉(cāng)庫(kù)及其使用方法這篇博文來,對(duì)比其不一樣的地方,選擇適合自己的方案。
環(huán)境準(zhǔn)備:
- 兩臺(tái)centos 7.3,一臺(tái)為Docker私有倉(cāng)庫(kù)服務(wù)器,另一臺(tái)為測(cè)試端,兩臺(tái)須可ping通;
- 參考博文:Docker的安裝詳細(xì)配置,對(duì)兩臺(tái)服務(wù)器進(jìn)行安裝docker環(huán)境。
[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
#運(yùn)行該鏡像,各個(gè)選項(xiàng)含義如下:
# -tid:以后臺(tái)持久運(yùn)行,并分配一個(gè)可交互的為終端
# --name registry :給容器定義一個(gè)名字
# --restart=always:該容器可以隨著docker服務(wù)的啟動(dòng)而啟動(dòng)
# -p:將容器的端口映射到宿主機(jī),冒號(hào)前面是宿主機(jī)的端口,冒號(hào)后面是容器的端口,registry的默認(rèn)端口是5000
# -v:將宿主機(jī)的目錄掛載到容器中,冒號(hào)前面是宿主機(jī)的目錄,冒號(hào)后面是容器中的目錄
[root@docker ~]# docker images #查看當(dāng)前的鏡像
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
#更改鏡像名稱,以便符合私有倉(cāng)庫(kù)名稱規(guī)范
#注:私有倉(cāng)庫(kù)鏡像的命名規(guī)則:192.168.20.7:5000/XXX(宿主機(jī)的IP:5000端口/鏡像名稱)
[root@docker ~]# vim /usr/lib/systemd/system/docker.service #更改docker的配置文件,以便指定私有倉(cāng)庫(kù)
ExecStart=/usr/bin/dockerd -H unix:// --insecure-registry 192.168.20.7:5000
#定位到上面那行,在后面添加“--insecure-registry”并指定私有倉(cāng)庫(kù)的IP及端口,然后保存退出即可
[root@docker ~]# systemctl daemon-reload #重載配置文件
[root@docker ~]# systemctl restart docker #重啟docker服務(wù)
[root@docker ~]# docker push 192.168.20.7:5000/centos:latest #上傳鏡像至私有倉(cāng)庫(kù)
[root@docker ~]# curl 192.168.20.7:5000/v2/_catalog #查看私有倉(cāng)庫(kù)中的鏡像
{"repositories":["centos"]}
[root@docker ~]# curl 192.168.20.7:5000/v2/centos/tags/list #查看鏡像的詳細(xì)信息
{"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”指定私有倉(cāng)庫(kù)的IP及參數(shù)
#添加完成后,保存退出即可
[root@docker02 ~]# systemctl daemon-reload #重載配置文件
[root@docker02 ~]# systemctl restart docker #重啟docker服務(wù)
[root@docker02 ~]# docker pull 192.168.20.7:5000/centos:latest
#下載私有倉(cāng)庫(kù)的中的鏡像
[root@docker02 ~]# docker images #確認(rèn)下載的鏡像
Harbor私有倉(cāng)庫(kù)和第一個(gè)Registry私有倉(cāng)庫(kù)相比較而言,功能強(qiáng)大很多,并且支持web圖形化管理,推薦使用。
環(huán)境和搭建Registry的一樣,如下:
- 兩臺(tái)centos 7.3,一臺(tái)為Docker私有倉(cāng)庫(kù)服務(wù)器,另一臺(tái)為測(cè)試端,兩臺(tái)須可ping通;
- 參考博文:Docker的安裝詳細(xì)配置,對(duì)兩臺(tái)服務(wù)器進(jìn)行安裝docker環(huán)境。
復(fù)制自己所需版本下提供的兩條命令,在第一臺(tái)Docker服務(wù)器上依次進(jìn)行操作:
[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
#復(fù)制官網(wǎng)上的上述命令
[root@docker ~]# chmod +x /usr/local/bin/docker-compose #賦予該命令執(zhí)行權(quán)限
[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 #編輯這個(gè)配置文件
..............#省略部分內(nèi)容
hostname = 192.168.20.7 #將hostname更改為本機(jī)IP
harbor_admin_password = Harbor12345 #這行指定的是登錄harbor的登錄名及密碼
#默認(rèn)用戶為“admin”,密碼為“Harbor12345”
..............#省略部分內(nèi)容
[root@docker harbor]# ./install.sh #執(zhí)行自帶的安裝腳本
[root@docker harbor]# netstat -antp | grep 80 #確定80端口正在監(jiān)聽
[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及其監(jiān)聽端口
[root@docker harbor]# systemctl daemon-reload #重新加載配置文件
[root@docker harbor]# systemctl restart docker #重啟docker服務(wù)
[root@docker harbor]# docker-compose stop #停止所有容器
[root@docker harbor]# docker-compose start #啟動(dòng)所有容器
**
[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倉(cāng)庫(kù)的命名規(guī)范,其中test是剛才在harbor創(chuàng)建的項(xiàng)目
[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服務(wù)器的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
#登錄到私有倉(cāng)庫(kù)
[root@docker02 ~]# docker pull 192.168.20.7:80/test/centos:latest
#至此即可下載第一臺(tái)docker服務(wù)器上傳的鏡像
———————— 本文至此結(jié)束,感謝閱讀 ————————