×

為了更好的管理鏡像,docker搭建私有倉(cāng)庫(kù)

分類:虛機(jī)資訊 編輯: 瀏覽量:100
2021-07-23 14:08:52
??docker倉(cāng)庫(kù)進(jìn)行鏡像的發(fā)布和管理,倉(cāng)庫(kù)一般分為公有倉(cāng)庫(kù)和私有倉(cāng)庫(kù),例如Docker Hub,但是很多公司為了提高訪問(wèn)效率和安全性的考量,一般會(huì)搭建自己的私有倉(cāng)庫(kù)。今天我們來(lái)教大家怎么搭建自己的私有倉(cāng)庫(kù)。這就是Docker公司為我們提供的公共倉(cāng)庫(kù)。在工作中,我們不可能把企業(yè)項(xiàng)目push到公有倉(cāng)庫(kù)進(jìn)行管理。所以為了更好的管理鏡像,Docker不僅提供了一個(gè)中央倉(cāng)庫(kù),同時(shí)也允許我們搭建本地私有倉(cāng)庫(kù)。這里介紹registry、harbor兩種私有倉(cāng)庫(kù)搭建。下面就由新網(wǎng)小編和大家講一講docker搭建私有倉(cāng)庫(kù)。

??一、注冊(cè)登錄

??在命令行執(zhí)行docker login輸入用戶名及密碼來(lái)完成在命令行界面登記Docker Hub。你可以通過(guò)docker logout退出登錄。

??二、方法/步驟

??1、使用命令docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry:2來(lái)創(chuàng)建倉(cāng)庫(kù)容器,搭建完成倉(cāng)庫(kù)服務(wù)。由于本地沒(méi)有registry鏡像,首先會(huì)從倉(cāng)庫(kù)中心拉取registry鏡像,然后創(chuàng)建容器,在本地啟動(dòng)了一個(gè)5000端口的私有倉(cāng)庫(kù)服務(wù)。

??2、docker images | grep registry命令可以查詢到倉(cāng)庫(kù)的鏡像,docker ps | grep registry看到倉(cāng)庫(kù)服務(wù)運(yùn)行正常

??3、我們搭建倉(cāng)庫(kù)的地址是10.199.137.114,我們準(zhǔn)備另外一臺(tái)機(jī)器10.199.137.115,將115上進(jìn)行測(cè)試上傳和下載鏡像,驗(yàn)證我們搭建的倉(cāng)庫(kù)是否能正常使用,將我們的容器tag標(biāo)記為10.199.137.114:5000/test

??4、使用docker push命令上傳我們標(biāo)記的容器

??[root@hz-ds-learn-199-137-115 ~]# docker push 10.199.137.114:5000/test

??The push refers to a repository [10.199.137.114:5000/test]

??Get https://10.199.137.114:5000/v1/_ping: http: server gave HTTP response to HTTPS client

??當(dāng)前docker版本對(duì)安全性要求較高,要求倉(cāng)庫(kù)支持ssl/TLS證書(shū),所以報(bào)錯(cuò)

??5、在docker的配置文件/etc/docker/daemon.json中加入如下參數(shù)

??{"insecure-registries":["10.199.137.114:5000"]},然后重啟容器服務(wù)生效

??systemctl restart docker 重啟服務(wù)

??6、使用docker push 10.199.137.114:5000/test命令再次上傳,已經(jīng)不再報(bào)錯(cuò)

??使用curl http://10.199.137.114:5000/v2/search

??7、從私有倉(cāng)庫(kù)下載鏡像,測(cè)試正常(http: server gave HTTP response to HTTPS client客戶端需要支持http)

??docker pull 10.199.137.114:5000/test

??三、harbor 的搭建

??docker 官方提供的私有倉(cāng)庫(kù) registry,用起來(lái)雖然簡(jiǎn)單 ,但在管理的功能上存在不足。 Harbor是一個(gè)用于存儲(chǔ)和分發(fā)Docker鏡像的企業(yè)級(jí)Registry服務(wù)器,harbor使用的是官方的docker registry(v2命名是distribution)服務(wù)去完成。harbor在docker distribution的基礎(chǔ)上增加了一些安全、訪問(wèn)控制、管理的功能以滿足企業(yè)對(duì)于鏡像倉(cāng)庫(kù)的需求。

??如果不想使用127.0.0.1:5000作為倉(cāng)庫(kù)地址,比如想讓本網(wǎng)段的其他主機(jī)也能把鏡像推送到私有倉(cāng)庫(kù)。你就得把例如192.168.1.1:5000這樣的內(nèi)網(wǎng)地址作為私有倉(cāng)庫(kù)地址,這時(shí)你會(huì)發(fā)現(xiàn)無(wú)法成功推送鏡像。小伙伴們要想獲得更多docker搭建私有倉(cāng)庫(kù)的內(nèi)容,請(qǐng)關(guān)注新網(wǎng)!

聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)

送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)

需注明出處:新網(wǎng)idc知識(shí)百科

免費(fèi)咨詢獲取折扣

Loading