創(chuàng)建docker私有化倉庫
創(chuàng)新互聯(lián)公司長(zhǎng)期為上1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為云龍企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè),云龍網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。有時(shí)候使用Docker Hub這樣的公共倉庫可能不方便(有時(shí)候無法訪問),用戶可以創(chuàng)建一個(gè)本地倉庫供私人使用,這里使用官方提供的工具docker-registry來配置私有庫
1、使用官方提供的工具來配置
docker-registry是官方提供的工具,可以用于構(gòu)建私有的鏡像倉庫。
registry [?red??stri]記錄,登記
私有倉庫好處:
1、節(jié)約帶寬
2、可以自己定制系統(tǒng)
docker-registry這個(gè)工具是一個(gè)鏡像,直接下載并使用registry鏡像啟動(dòng)docker實(shí)例就可以了。
有了docker以后,所有軟件不再以office.exe 或lrzsz.rpm 形式發(fā)布,而以docker鏡像發(fā)布。你只需要下載docker鏡像并運(yùn)行一個(gè)docker實(shí)例。
有了docker以后,再也不用為安裝linux服務(wù)而發(fā)愁!
實(shí)驗(yàn)環(huán)境:
docker私有倉庫地址:192.168.1.63
docker服務(wù)器地址 : 192.168.1.64 ,xuegod64會(huì)使用xuegod63上docker私有倉庫來pull/push鏡像
實(shí)驗(yàn)拓?fù)鋱D:
配置xuegod63為docker私有倉庫
[root@xuegod63 ~]# systemctl start firewalld #因?yàn)楹竺嬉褂枚丝谟成?/b>
[root@xuegod63 ~]# systemctl enable firewalld
[root@xuegod63 ~]# iptables -F
2、關(guān)閉selinux
[root@xuegod63 ~]#? vim /etc/sysconfig/selinux
改:SELINUX = enforcing
為:SELINUX=disabled
[root@xuegod63 ~]#reboot
[root@xuegod63 ~]# getenforce
Disabled
配置xuegod63為docker私有倉庫服務(wù)端
1.啟動(dòng)docker
[root@xuegod63 ~]# systemctl start docker
2.拉取registry 鏡像。 registry鏡像中包括搭建本地私有倉庫的軟件:
registry [?red??stri]記錄,登記 ; pull 拉 ; push 推
把registry.tar上傳到Linux上
方法一:導(dǎo)入本地鏡像:
[root@xuegod63 ~]# docker load -i registry.tar
方法二: 在線導(dǎo)入鏡像,比較慢
[root@xuegod63 ~]# docker pull registry
Using default tag: latest
Trying to pull repository docker.io/library/registry ...
latest: Pulling from docker.io/library/registry
。。。
acf34ba23c50: Waiting
error pulling image configuration: Get https://dseasb33srnrn.cloudfront.net/registry-v2/docker/registry/v2/blobs/sha256/13/136c8b16df203ef26b2f39e24bd3f403b63be67610ec99a5b5af0cceac5c1b51/data?Expires=1491661458&Signature=VpBWJnckUbRqJol8EWTw2ZswQ-xOjrbqDfUstwjJwA55NoaOlESDpUC2AOloQXQRXx~F7-DGwaOY4bjJpdymnVhyv5ylO2ZB1tlkgANsNYhyoKOSyT8IycW94Cee~GaXqdcwkdECsLqWbRW1S297k4jK2GXTtaZqUsBrrmx3oAQ_&Key-Pair-Id=APKAJECH5M7VWIS5YZ6Q: EOF
注: 這是因?yàn)樵L問不了國外的網(wǎng)址導(dǎo)致的。
解決:多再試試幾次, 終于一次,你不會(huì)被墻,可以訪問成功的。
擴(kuò)展:下載registry鏡像時(shí),有時(shí)會(huì)訪問不到國外網(wǎng)站,導(dǎo)致下載失敗
3.查看registry鏡像
[root@xuegod63 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/registry latest047218491f8c 3 weeks ago 33.17 MB
擴(kuò)展:.io域名
.io是[british indian ocean territory] 英屬印度洋領(lǐng)地的簡(jiǎn)寫
4.實(shí)戰(zhàn):使用registry鏡像搭建一個(gè)私有倉庫
使用registry鏡像搭建一個(gè)私有倉庫。 registry鏡像中已經(jīng)把搭建私有庫程序安裝好了,我只需要使用registry鏡像運(yùn)行一個(gè)docker實(shí)例就可以了。
默認(rèn)情況下,Registry程序的存放鏡像信息的目錄是/var/lib/registry目錄下,這樣如果容器被刪除,則存放于容器中的鏡像也會(huì)丟失,所以我們一般情況下會(huì)指定本地物理機(jī)一個(gè)目錄如/opt/registry掛載到容器的/var/lib/registry下,這樣兩個(gè)目錄下都有!
注:registry運(yùn)行的實(shí)例的默認(rèn)存儲(chǔ)路徑是/var/lib/registry,只是個(gè)臨時(shí)目錄,一段時(shí)間之后就會(huì)消失。所以使用-v參數(shù),指定本地持久的路徑。
registry服務(wù)監(jiān)聽到端口號(hào),默認(rèn)是5000
[root@xuegod63 ~]# docker run -d -p 5000:5000 -v /opt/registry:/var/lib/registry registry
e4698f625a56661edd2678269215ba42d4fa41c2da881768a741a72b4a3d0c60
[root@xuegod63 ~]# ls /opt/registry #這個(gè)目錄會(huì)自動(dòng)創(chuàng)建
[root@xuegod63 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e4698f625a56 docker.io/registry "/entrypoint.sh /etc/" 7 minutes ago Up 6 minutes 0.0.0.0:5000->5000/tcp suspicious_colden
[root@xuegod63 ~]# netstat -antup | grep 5000
tcp6 0 0 :::5000 :::* LISTEN 4032/docker-proxy
說明,私有庫已經(jīng)啟動(dòng)成功。
查看私有倉庫中的鏡像列表:
http://192.168.1.63:5000/v2/_catalog #發(fā)現(xiàn),現(xiàn)在還是空的
5.在xuegod64上搭建docker服務(wù)并使用私有倉庫
開啟CENTOS7.4-64-64虛擬機(jī):
1.在線安裝docker
[root@xuegod64 ~]# yum install docker -y
2.修改docker配置文件,指定docker鏡像加速結(jié)點(diǎn)為:私有倉庫的地址
[root@xuegod64 ~]# vim /etc/sysconfig/docker
修改此行
改:4 OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false'
為:OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --insecure-registry 192.168.1.63:5000'
注:添加紅色標(biāo)記文字。 --insecure-registry不安全的注冊(cè)
[root@xuegod64 ~]# systemctl restart docker #啟動(dòng)docker服務(wù)
實(shí)戰(zhàn)1: 在xuegod64上測(cè)試上傳本地鏡像到私有倉庫
1.從Docker HUB 上拉取一個(gè)測(cè)試鏡像,名字: busybox
方法一:本地導(dǎo)入
上傳busybox.tar鏡像到Linux系統(tǒng)上,作為測(cè)試鏡像。
[root@xuegod64 ~]# docker load -i busybox.tar
[root@xuegod64 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/busybox latest00f017a8c2a6 2 weeks ago 1.11 MB
docker.io/registry latest 047218491f8c 3 weeks ago 33.17 MB
注:
BusyBox概述: BusyBox是一個(gè)集成了一百多個(gè)最常用Linux命令和工具的軟件。BusyBox 包含了BusyBox 包含了一些簡(jiǎn)單的工具,例如ls、cat和echo等等,還包含了一些更大、更復(fù)雜的工具,例grep、find、mount以及telnet。有些人將 BusyBox 稱為 Linux 工具里的瑞士×××。簡(jiǎn)單的說BusyBox就好像是個(gè)大工具箱,它集成壓縮了 Linux 的許多工具和命令,也包含了 Android 系統(tǒng)的自帶的shell。
瑞士×××見過:1 沒有:2
官網(wǎng): ×××w.busybox.net
方法二:在線安裝
[root@xuegod64 opt]# docker pull busybox
Using default tag: latest
Trying to pull repository docker.io/library/busybox ...
latest: Pulling from docker.io/library/busybox
實(shí)驗(yàn)拓?fù)鋱D:
2、創(chuàng)建鏡像鏈接或?yàn)榛A(chǔ)鏡像打個(gè)標(biāo)簽(復(fù)制一個(gè)鏡像并起一個(gè)名字)
語法:docker tag鏡像名:標(biāo)簽私有倉庫地址/鏡像名:標(biāo)簽
# docker tag docker.io/busybox:latest 192.168.1.63:5000/busybox:latest
注: 不寫鏡像標(biāo)簽,默認(rèn)是:latest
[root@xuegod64 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.1.63:5000/busybox latest00f017a8c2a6 2 weeks ago 1.11 MB
3、將剛新打好標(biāo)簽的192.168.1.63:5000/busybox鏡像,push到本地私有倉庫中。
[root@xuegod64 ~]# docker push 192.168.1.63:5000/busybox
4.登錄xuegod64上,查看鏡像的存儲(chǔ)目錄和文件
[root@xuegod63 ~]# rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm [root@xuegod63 ~]# tree /opt/registry/docker/registry/v2/
。。。
└── busybox
├── _layers
│ └── sha256
│ ├── 00f017a8c2a6e1fe2ffd05c281f27d069d2a99323a8cd514dd35f228ba26d2ff
│ │ └── link
│ └── 04176c8b224aa0eb9942af765f66dae866f436e75acef028fe44b8a98e045515
│ └── link
查看私有倉庫中的鏡像列表:
http://192.168.1.63:5000/v2/_catalog
實(shí)戰(zhàn)2:使用私有倉庫中的鏡像
刪除鏡像:
語法: docker rmi 鏡像名:標(biāo)簽
[root@xuegod64 ~]# docker rmi 192.168.1.63:5000/busybox #刪除鏡像
[root@xuegod64 ~]# docker pull 192.168.1.63:5000/busybox #下載鏡像
[root@xuegod64 ~]# docker images #查看導(dǎo)入的鏡像
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.1.63:5000/busybox latest00f017a8c2a6 2 weeks ago 1.11 MB
使用新導(dǎo)入的鏡像,運(yùn)行一個(gè)新docker實(shí)例:
[root@xuegod64 ~]# docker run 192.168.1.63:5000/busybox:latest echo "hello"
hello
運(yùn)行成功。
總結(jié)
搭建私有倉庫步驟:
1、把registry鏡像導(dǎo)入docker
2、基于registry鏡像運(yùn)行一個(gè)docker實(shí)例,registry默認(rèn)監(jiān)聽5000端口
導(dǎo)入鏡像到私有倉庫步驟:
1、安裝docker服務(wù)
2、修改docker 服務(wù) 鏡像源,改成私有倉庫地址: --insecure-registry 192.168.1.63:5000
3、把要導(dǎo)入的鏡像打個(gè)標(biāo)簽如: 192.168.1.63:5000/busybox:latest
4、上傳打了標(biāo)簽的鏡像到私有倉庫: docker push 192.168.1.63:5000/busybox:latest
私有倉庫的使用:
1、修改docker 服務(wù) 鏡像源,改成私有倉庫地址: --insecure-registry 192.168.1.63:5000
2、下載剛才上傳的鏡像 : docker pull 192.168.1.63:5000/busybox:latest
10.3使用阿里云私有倉庫存儲(chǔ)自己的docker鏡像
10.3.1使用阿云的docker私有倉庫
1、登錄阿里云開者平臺(tái)
https://dev.aliyun.com/search.html,在此頁面中點(diǎn)擊“創(chuàng)建命名空間”
創(chuàng)建鏡像倉庫:
然后,選擇當(dāng)前頁面中的:
點(diǎn)管理,查看使用方法:
登錄阿里云docker registry:
$ sudo docker login --username=446423587@qq.com registry.cn-hangzhou.aliyuncs.com
登錄registry的用戶名是您的阿里云賬號(hào)全名,密碼是您開通服務(wù)時(shí)設(shè)置的密碼。
我的密碼是: 446423587A
你可以在鏡像管理首頁點(diǎn)擊右上角按鈕修改docker login密碼。
https://cr.console.aliyun.com/?spm=5176.1971733.2.28.4884464bqVSUpv#/imageList
登錄xuegod64將本地鏡像推送到阿里云registry:
1、創(chuàng)建鏡像鏈接或?yàn)榛A(chǔ)鏡像打個(gè)標(biāo)簽
[root@xuegod64 ~]# docker login --username=446423587@qq.com registry.cn-hangzhou.aliyuncs.com #先登錄到阿里云registry
Password:446423587A
Login Succeeded
查看本地鏡像名或ID
[root@xuegod64 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
。。。
192.168.1.63:5000/busybox latest00f017a8c2a612 months ago 1.11 MB
[root@xuegod64 ~]# docker tag 00f017a8c2a6 registry.cn-hangzhou.aliyuncs.com/xuegod-k8s/busybox:v2
[root@xuegod64 ~]# docker push registry.cn-hangzhou.aliyuncs.com/xuegod-k8s/busybox:v2
在阿里云上查看:
下載一個(gè)鏡像:
[root@xuegod64 ~]# docker pull registry.cn-hangzhou.aliyuncs.com/xuegod-k8s/busybox:v2
總結(jié):
10.1創(chuàng)建docker靜態(tài)化IP
10.2創(chuàng)建docker私有化倉庫
10.3使用阿里云私有倉庫存儲(chǔ)自己的docker鏡像
分享標(biāo)題:配置docker私有倉庫-創(chuàng)新互聯(lián)
文章起源:http://bm7419.com/article22/cedjcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、網(wǎng)站策劃、微信公眾號(hào)、用戶體驗(yàn)、外貿(mào)建站、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容