Docker搭建私有倉庫的實(shí)現(xiàn)步驟
背景介紹
Docker registry是存儲Docker image的倉庫,運(yùn)行push、pull、 search 時(shí),是通過Docker daemon與docker registry通信。
Docker Hub(Docker埠,內(nèi)有大量存儲庫或叫倉庫)是Docker提供的一項(xiàng)服務(wù),用于查找和與您的團(tuán)隊(duì)共享容器鏡像。它是世界上最大的容器鏡像存儲庫,擁有一系列內(nèi)容源,包括容器社區(qū)開發(fā)人員、開放源代碼項(xiàng)目和獨(dú)立軟件供應(yīng)商(ISV)在容器中構(gòu)建和分發(fā)代碼。
使用私有倉庫有許多優(yōu)點(diǎn):
1)節(jié)省網(wǎng)絡(luò)帶寬,針對于每個(gè)鏡像不用每個(gè)人都去中央倉庫上面去下載,只需要從私有倉庫中下載即可;
2)提供鏡像資源利用,針對于公司內(nèi)部使用的鏡像,推送到本地的私有倉庫中,以供公司內(nèi)部相關(guān)人員使用。
因?yàn)閐ockerHub公共倉庫是外網(wǎng)的,所以訪問就特別慢,所以一般公司都會搭建私人的鏡像倉庫來保存鏡像。一臺服務(wù)上用docker開啟一個(gè)私有倉庫的鏡像,后續(xù)其他的docket服務(wù)器都將鏡像保存在這個(gè)私有的倉庫
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:在容器中打開一個(gè)偽終端進(jìn)行交互操作,并在后臺運(yùn)行 -v:把宿主機(jī)的/home/wuzhibin/docker/registry目錄綁定到容器/var/lib/registry來實(shí)現(xiàn)數(shù)據(jù)的持久化; -p:映射端口;訪問宿主機(jī)的5000端口就訪問到registry容器的服務(wù)了 --restart=always: 這是重啟的策略,在容器退出時(shí)總是重啟容器 --name registry: 創(chuàng)建容器命名為registry
拉起官方鏡像,在一臺搭建鏡像倉庫的容器,并將容器的數(shù)據(jù)盤映射本地?cái)?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 # 打上私倉標(biāo)簽,如果想推送到私倉必須打上私倉的標(biāo)簽,應(yīng)該為默認(rèn)是推送到公共倉庫的。 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è)置鏡像倉庫的地址,另外鏡像上也要打上私倉的標(biāo)簽,不能默認(rèn)會從公共倉庫拉起和發(fā)布
3 拉私倉的鏡像
# 拉取私倉的鏡像, 其他的服務(wù)器也需要和上一步一樣添加docker配置中添加私倉地址 # 不加私倉地址會默認(rèn)從公共倉去拉起, 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中使用mongodb數(shù)據(jù)庫詳解(在局域網(wǎng)訪問)
這篇文章主要給大家介紹了在docker中使用mongodb數(shù)據(jù)庫,在局域網(wǎng)訪問的相關(guān)資料,文中將步驟介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-06-06Docker的文件系統(tǒng)映射:主機(jī)與容器間目錄的雙向映射詳解
通過Docker的目錄映射功能,實(shí)現(xiàn)主機(jī)與容器間的數(shù)據(jù)共享與持久化存儲,使用-v或--mount參數(shù)在運(yùn)行時(shí)設(shè)置主機(jī)與容器目錄映射,或通過DockerCompose配置文件實(shí)現(xiàn)自動化,此功能提升數(shù)據(jù)管理靈活性和效率2024-11-11如何搭建配置Docker私有倉庫的實(shí)現(xiàn)步驟
本文主要介紹了如何搭建配置Docker私有倉庫的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07linux中無make命令的問題(make: *** 沒有指明目標(biāo)并且找不到 makefile及make命令安裝方法)
這篇文章主要介紹了linux中無make命令的問題(make: *** 沒有指明目標(biāo)并且找不到 makefile及make命令安裝方法),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08如何使用Docker Desktop進(jìn)行本地打包和推送
本文給大家介紹如何使用Docker Desktop進(jìn)行本地打包和推送,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2025-04-04docker部署Vaultwarden密碼共享管理系統(tǒng)的實(shí)現(xiàn)(圖文)
Vaultwarden是一個(gè)開源的密碼管理器,它提供了類似于Bitwarden的功能,允許用戶安全地存儲和管理密碼、敏感數(shù)據(jù)和身份信息,本文主要介紹了docker部署Vaultwarden密碼共享管理系統(tǒng)的實(shí)現(xiàn),感興趣的可以了解一下2023-10-10