Docker私有倉庫Registry怎么搭建驗(yàn)證

這篇文章主要講解了“Docker私有倉庫Registry怎么搭建驗(yàn)證”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Docker私有倉庫Registry怎么搭建驗(yàn)證”吧!

成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括陽谷網(wǎng)站建設(shè)、陽谷網(wǎng)站制作、陽谷網(wǎng)頁制作以及陽谷網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,陽谷網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到陽谷省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

1. 關(guān)于registry

官方的docker hub是一個(gè)用于管理公共鏡像的好地方,我們可以在上面找到我們想要的鏡像,也可以把我們自己的鏡像推送上去。但是,有時(shí)候,我們的使用場景需要我們擁有一個(gè)私有的鏡像倉庫用于管理我們自己的鏡像。這個(gè)可以通過開源軟件registry來達(dá)成目的。

 registry在github上有兩份代碼:和。老代碼是采用python編寫的,存在pull和push的性能問題,出到0.9.1版本之后就標(biāo)志為deprecated,不再繼續(xù)開發(fā)。從2.0版本開始就到在新代碼庫進(jìn)行開發(fā),新代碼庫是采用go語言編寫,修改了鏡像id的生成算法、registry上鏡像的保存結(jié)構(gòu),大大優(yōu)化了pull和push鏡像的效率。

 官方在docker hub上提供了registry的鏡像(),我們可以直接使用該registry鏡像來構(gòu)建一個(gè)容器,搭建我們自己的私有倉庫服務(wù)。tag為latest的registry鏡像是0.9.1版本的,我們直接采用2.1.1版本。

 2. registry的部署

運(yùn)行下面命令獲取registry鏡像,

$ sudo docker pull registry:2.1.1

然后啟動(dòng)一個(gè)容器,

復(fù)制代碼 代碼如下:

$ sudo docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:2.1.1

registry服務(wù)默認(rèn)會(huì)將上傳的鏡像保存在容器的/var/lib/registry,我們將主機(jī)的/opt/registry目錄掛載到該目錄,即可實(shí)現(xiàn)將鏡像保存到主機(jī)的/opt/registry目錄了。

 運(yùn)行docker ps看一下容器情況,

lienhua34@lienhua34-compaq-presario-cq35-notebook-pc ~ $ sudo docker ps 
container id    image        command         created       status       ports          names
f3766397a458    registry:2.1.1   "/bin/registry /etc/d"  46 seconds ago   up 45 seconds    0.0.0.0:5000->5000/tcp  registry

說明我們已經(jīng)啟動(dòng)了registry服務(wù),打開瀏覽器輸入http://127.0.0.1:5000/v2,出現(xiàn)下面情況說明registry運(yùn)行正常,

 Docker私有倉庫Registry怎么搭建驗(yàn)證

3. 驗(yàn)證

現(xiàn)在我們通過將鏡像push到registry來驗(yàn)證一下。

我的機(jī)器上有個(gè)hello-world的鏡像,我們要通過docker tag將該鏡像標(biāo)志為要推送到私有倉庫,

$ sudo docker tag hello-world 127.0.0.1:5000/hello-world

然后查看以下本地的鏡像,

lienhua34@lienhua34-compaq-presario-cq35-notebook-pc ~ $ sudo docker images
repository          tag         image id      created       virtual size
registry           2.1.1        b91f745cd233    5 days ago     220.1 mb
ubuntu            14.04        a5a467fddcb8    6 days ago     187.9 mb
hello-world         latest       975b84d108f1    2 weeks ago     960 b
127.0.0.1:5000/hello-world  latest       975b84d108f1    2 weeks ago     960 b

接下來,我們運(yùn)行docker push將hello-world鏡像push到我們的私有倉庫中,

lienhua34@lienhua34-compaq-presario-cq35-notebook-pc ~ $ sudo docker push 127.0.0.1:5000/hello-world
the push refers to a repository [127.0.0.1:5000/hello-world] (len: 1)
975b84d108f1: image successfully pushed 
3f12c794407e: image successfully pushed 
latest: digest: sha256:1c7adb1ac65df0bebb40cd4a84533f787148b102684b74cb27a1982967008e4b size: 2744

現(xiàn)在我們可以查看我們本地/opt/registry目錄下已經(jīng)有了剛推送上來的hello-world。我們也在瀏覽器中輸入http://127.0.0.1:5000/v2/_catalog,如下圖所示,

 Docker私有倉庫Registry怎么搭建驗(yàn)證

現(xiàn)在我們可以先將我們本地的127.0.0.1:5000/hello-world和hello-world先刪除掉,

$ sudo docker rmi hello-world
$ sudo docker rmi 127.0.0.1:5000/hello-world

然后使用docker pull從我們的私有倉庫中獲取hello-world鏡像,

lienhua34@lienhua34-compaq-presario-cq35-notebook-pc ~ $ sudo docker pull 127.0.0.1:5000/hello-world
using default tag: latest
latest: pulling from hello-world
b901d36b6f2f: pull complete 
0a6ba66e537a: pull complete 
digest: sha256:1c7adb1ac65df0bebb40cd4a84533f787148b102684b74cb27a1982967008e4b
status: downloaded newer image for 127.0.0.1:5000/hello-world:latest
lienhua34@lienhua34-compaq-presario-cq35-notebook-pc ~ $ sudo docker images
repository          tag         image id      created       virtual size
registry           2.1.1        b91f745cd233    5 days ago     220.1 mb
ubuntu            14.04        a5a467fddcb8    6 days ago     187.9 mb
127.0.0.1:5000/hello-world  latest       0a6ba66e537a    2 weeks ago     960 b

4. 可能問題

可能會(huì)出現(xiàn)無法push鏡像到私有倉庫的問題。這是因?yàn)槲覀儐?dòng)的registry服務(wù)不是安全可信賴的。這是我們需要修改docker的配置文件/etc/default/docker,添加下面的內(nèi)容,

docker_opts="--insecure-registry xxx.xxx.xxx.xxx:5000"

然后重啟docker后臺(tái)進(jìn)程,

$ sudo service docker restart

這是再push即可。

感謝各位的閱讀,以上就是“Docker私有倉庫Registry怎么搭建驗(yàn)證”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Docker私有倉庫Registry怎么搭建驗(yàn)證這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

文章標(biāo)題:Docker私有倉庫Registry怎么搭建驗(yàn)證
地址分享:http://bm7419.com/article26/jceijg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、定制網(wǎng)站、搜索引擎優(yōu)化、品牌網(wǎng)站制作自適應(yīng)網(wǎng)站、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司