Docker搭建私有倉庫的實現(xiàn)步驟
背景介紹
Docker registry是存儲Docker image的倉庫,運行push、pull、 search 時,是通過Docker daemon與docker registry通信。
Docker Hub(Docker埠,內(nèi)有大量存儲庫或叫倉庫)是Docker提供的一項服務(wù),用于查找和與您的團隊共享容器鏡像。它是世界上最大的容器鏡像存儲庫,擁有一系列內(nèi)容源,包括容器社區(qū)開發(fā)人員、開放源代碼項目和獨立軟件供應(yīng)商(ISV)在容器中構(gòu)建和分發(fā)代碼。
使用私有倉庫有許多優(yōu)點:
1)節(jié)省網(wǎng)絡(luò)帶寬,針對于每個鏡像不用每個人都去中央倉庫上面去下載,只需要從私有倉庫中下載即可;
2)提供鏡像資源利用,針對于公司內(nèi)部使用的鏡像,推送到本地的私有倉庫中,以供公司內(nèi)部相關(guān)人員使用。
因為dockerHub公共倉庫是外網(wǎng)的,所以訪問就特別慢,所以一般公司都會搭建私人的鏡像倉庫來保存鏡像。一臺服務(wù)上用docker開啟一個私有倉庫的鏡像,后續(xù)其他的docket服務(wù)器都將鏡像保存在這個私有的倉庫
1 設(shè)置私有鏡像倉庫
# 下載鏡像 docker pull registry # 啟動鏡像 docker run -itd -v /home/wuzhibin/docker/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest -itd:在容器中打開一個偽終端進行交互操作,并在后臺運行 -v:把宿主機的/home/wuzhibin/docker/registry目錄綁定到容器/var/lib/registry來實現(xiàn)數(shù)據(jù)的持久化; -p:映射端口;訪問宿主機的5000端口就訪問到registry容器的服務(wù)了 --restart=always: 這是重啟的策略,在容器退出時總是重啟容器 --name registry: 創(chuàng)建容器命名為registry
拉起官方鏡像,在一臺搭建鏡像倉庫的容器,并將容器的數(shù)據(jù)盤映射本地數(shù)據(jù)持久化,最終的目的是將設(shè)置為私有的鏡像倉庫保存鏡像。
2 添加鏡像倉庫
# 在其他的服務(wù)上設(shè)置的鏡像倉庫地址為私倉地址
vim /etc/docker/daemon.json
{
"insecure-registries": ["192.168.1.200:5000"],
"registry-mirrors": ["https://zh7ton3p.mirror.aliyuncs.com"]
}
systemctl daemon-reload
systemctl restart docker
# insecure-registries 為上一步開啟的私有倉庫地址
# registry-mirrors 為阿里云鏡像加速地址
# 修改docker配置之后一定要重新啟動docker
# 推送鏡像到私倉
# 拉取nginx 測試鏡像
docker pull nginx
# 打上私倉標簽,如果想推送到私倉必須打上私倉的標簽,應(yīng)該為默認是推送到公共倉庫的。
docker tag mginx:latest 192.168.1.200:500/nginx:v1
# 查看鏡像名
docker images
# 推送私倉,192.168.1.200:5000/nginx:v1為上一步打上鏡像名的鏡像
docker push 192.168.1.200:5000/nginx:v1
# 查看私倉鏡像倉庫
curl http://192.168.1.200:5000/v2/_catalog
# 結(jié)果為{"repositories":["nginx"]}表面
# 查看私倉的鏡像版本
curl http://192.168.118.16:5000/v2/ubuntu/tags/list在其他的服務(wù)上設(shè)置的鏡像倉庫地址為私倉地址就可以通過私倉拉起分發(fā)布鏡像了, 拉取私倉的鏡像不僅僅要設(shè)置鏡像倉庫的地址,另外鏡像上也要打上私倉的標簽,不能默認會從公共倉庫拉起和發(fā)布
3 拉私倉的鏡像
# 拉取私倉的鏡像, 其他的服務(wù)器也需要和上一步一樣添加docker配置中添加私倉地址 # 不加私倉地址會默認從公共倉去拉起, docker pull 192.168.1.200:5000/nginx:v1 # 查看拉起的鏡像 docker images


到此這篇關(guān)于Docker搭建私有倉庫的文章就介紹到這了,更多相關(guān)Docker搭建私有倉庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker跨主機網(wǎng)絡(luò)(overlay)的實現(xiàn)
這篇文章主要介紹了Docker跨主機網(wǎng)絡(luò)(overlay)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-12-12
docker配置skywalking 監(jiān)控springcloud應(yīng)用的詳細步驟
本文分步驟給大家講解docker配置skywalking 監(jiān)控springcloud應(yīng)用的方法,感興趣的朋友一起看看吧2025-04-04
docker搭建dnsmasq服務(wù)的實現(xiàn)
本文將指導讀者如何使用Docker搭建DNSmasq服務(wù),通過簡單的步驟和詳細的說明,幫助讀者快速在Docker環(huán)境中部署DNSmasq,具有一定的參考價值,感興趣的可以了解一下2024-01-01

