無(wú)網(wǎng)絡(luò)docker鏡像遷移的實(shí)現(xiàn)
1、背景
- 私服服務(wù)器:docker私服部署在沒(méi)有網(wǎng)絡(luò)的服務(wù)器A上。
- 應(yīng)用程序服務(wù)器:無(wú)網(wǎng)絡(luò)服務(wù)器B,A和B可以相互通信
- 開(kāi)發(fā)者:開(kāi)發(fā)者的電腦C有網(wǎng)絡(luò),C可以和A、B通信,可以上傳私服,部署應(yīng)用。
2、私服安裝
有網(wǎng)絡(luò)環(huán)境保存鏡像
在有網(wǎng)絡(luò)的電腦B上,運(yùn)行以下命令將Docker Registry鏡像保存為tar文件:
docker pull registry:2 docker save registry:2 > registry.tar
無(wú)網(wǎng)絡(luò)安裝
在服務(wù)器A上,運(yùn)行以下命令加載并啟動(dòng)Docker Registry:
docker load < registry.tar docker run -d -p 5000:5000 --restart=always --name registry registry:2
此時(shí),服務(wù)器A上的Docker私有倉(cāng)庫(kù)已經(jīng)啟動(dòng),監(jiān)聽(tīng)在localhost:5000。Docker Registry 本身不提供 Web 界面,默認(rèn)僅提供 API 服務(wù)。
驗(yàn)證是否成功
curl http://your-registry-ip:5000/v2/_catalog
- 預(yù)期響應(yīng):
{"repositories":[]}(初始為空)。
部署可視化界面(非必須)
docker run -d \ -p 8081:80 \ -e REGISTRY_URL=http://your-registry-ip:5000/v2 \ -e REGISTRY_TRUST_ANY_SSL=true \ joxit/docker-registry-ui:static
訪問(wèn)地址:http://localhost:8081

3、構(gòu)建應(yīng)用鏡像并上傳到私有倉(cāng)庫(kù)
構(gòu)建應(yīng)用鏡像
在電腦C上,構(gòu)建你的應(yīng)用鏡像,例如:
docker build -t my-app:latest .
將應(yīng)用鏡像推送到服務(wù)器A的私有倉(cāng)庫(kù)
首先,將應(yīng)用鏡像打上服務(wù)器A私有倉(cāng)庫(kù)的標(biāo)簽
docker tag my-app:latest <服務(wù)器A的IP地址>:5000/my-app:latest
然后,將鏡像推送到服務(wù)器A的私有倉(cāng)庫(kù):
docker push <服務(wù)器A的IP地址>:5000/my-app:latest
在推送過(guò)程中,Docker會(huì)將鏡像數(shù)據(jù)傳輸?shù)椒?wù)器A上的私有倉(cāng)庫(kù)。
4、運(yùn)行鏡像
在服務(wù)器B上從私有倉(cāng)庫(kù)拉取鏡像并運(yùn)行應(yīng)用。
拉取鏡像
在服務(wù)器B上,運(yùn)行以下命令從私有倉(cāng)庫(kù)拉取應(yīng)用鏡像:
docker pull <服務(wù)器A的IP地址>:5000/my-app:latest
運(yùn)行應(yīng)用容器
拉取鏡像后,運(yùn)行應(yīng)用容器
docker run -d --name my-app-container <服務(wù)器A的IP地址>:5000/my-app:latest
到此這篇關(guān)于無(wú)網(wǎng)絡(luò)docker鏡像遷移的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)docker無(wú)網(wǎng)絡(luò)鏡像遷移內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker容器啟動(dòng)失敗的常見(jiàn)原因分析及解決方法
我們?cè)陂_(kāi)發(fā)部署的時(shí)候,用 Docker 打包環(huán)境,理論上是“我裝好了你就能跑”,但理想很豐滿,現(xiàn)實(shí)往往一 docker run 下去就翻車(chē)了,今天來(lái)盤(pán)點(diǎn)一下我實(shí)際工作中經(jīng)常遇到的 Docker 容器啟動(dòng)失敗的常見(jiàn)原因及解決方法,需要的朋友可以參考下2025-05-05
Windows?Docker?Desktop磁盤(pán)空間清理步驟完全指南
Windows?Docker?Desktop在長(zhǎng)時(shí)間使用后,會(huì)由于鏡像、容器、緩存等文件累積,導(dǎo)致磁盤(pán)空間占用過(guò)大,這篇文章主要介紹了Windows?Docker?Desktop磁盤(pán)空間清理的相關(guān)資料,需要的朋友可以參考下2026-04-04
Docker中容器數(shù)據(jù)卷(Data Volume)和數(shù)據(jù)管理詳解
本文主要給大家介紹了關(guān)于Docker中容器數(shù)據(jù)卷(Data Volume)和數(shù)據(jù)管理的相關(guān)資料,文中介紹的很詳細(xì),對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-02-02
使用 Docker 部署 GitLab 并持久化數(shù)據(jù)的實(shí)例步驟
本文將詳細(xì)介紹如何使用 Docker 部署 GitLab,并將數(shù)據(jù)(如倉(cāng)庫(kù)、配置、日志等)持久化到主機(jī)磁盤(pán),我們還將解決常見(jiàn)的端口沖突問(wèn)題,并介紹如何從另一臺(tái) GitLab 恢復(fù)數(shù)據(jù)到新的 GitLab 實(shí)例,感興趣的朋友一起看看吧2025-05-05
Docker中的容器網(wǎng)絡(luò)和通信原理詳解
這篇文章主要介紹了Docker中的容器網(wǎng)絡(luò)和通信原理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04
使用Docker部署Tomcat的實(shí)現(xiàn)示例
在本地編寫(xiě)好了Spring項(xiàng)目,為了實(shí)現(xiàn)能夠隨時(shí)地訪問(wèn),所以需要將項(xiàng)目部署到服務(wù)器,本文主要介紹了使用Docker部署Tomcat的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11
Docker設(shè)置mysql不區(qū)分大小寫(xiě)問(wèn)題
這篇文章主要介紹了Docker設(shè)置mysql不區(qū)分大小寫(xiě)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
Docker容器之內(nèi)網(wǎng)獨(dú)立IP訪問(wèn)的方法
這篇文章主要介紹了Docker容器之內(nèi)網(wǎng)獨(dú)立IP訪問(wèn)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08

