將Docker鏡像從服務(wù)器A遷移到服務(wù)器B的三種方法
在日常工作中,我們有時(shí)會(huì)需要將服務(wù)器 A上的鏡像上傳至服務(wù)器B上,下面給出具體操作方式,以鏡像 postgres:15 為例進(jìn)行講解。
首先在服務(wù)器A上拉取 鏡像 postgres:15 ,命令如下:
docker pull postgres:15
下面再將服務(wù)器A上的postgres:15鏡像上傳至服務(wù)器B,主要有以下幾種方式:
方法1:使用 Docker Save 和 Load(推薦)
- 在服務(wù)器A上保存鏡像為tar文件:
docker save -o postgres15.tar postgres:15
- 將tar文件傳輸?shù)椒?wù)器B(使用scp或其他方式):
scp postgres15.tar user@serverB:/path/to/destination
- 在服務(wù)器B上加載鏡像:
docker load -i postgres15.tar
注意:這里可能出現(xiàn)報(bào)錯(cuò):
permission denied while trying to connect to the Docker daemon socket >at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.44/images/load?quiet=0": dial >unix /var/run/docker.sock: connect: permission denied
解決方式:使用 sudo 權(quán)限執(zhí)行 docker load 命令
sudo docker load -i postgres15.tar
- 在服務(wù)器B上查看鏡像:
docker images

方法2:使用 Docker Hub 作為中轉(zhuǎn)
- 在服務(wù)器A上登錄Docker Hub:
docker login
- 給鏡像打標(biāo)簽并推送(需要你有Docker Hub賬戶(hù)):
docker tag postgres:15 yourusername/postgres:15 docker push yourusername/postgres:15
- 在服務(wù)器B上拉取鏡像:
docker pull yourusername/postgres:15
方法3:使用私有倉(cāng)庫(kù)中轉(zhuǎn)(內(nèi)網(wǎng)環(huán)境)
如果你有私有Docker倉(cāng)庫(kù)(如Harbor等):
- 在服務(wù)器A上打標(biāo)簽并推送:
docker tag postgres:15 your-registry.com/your-project/postgres:15 docker push your-registry.com/your-project/postgres:15
- 在服務(wù)器B上拉取:
docker pull your-registry.com/your-project/postgres:15
注:私有倉(cāng)庫(kù)中轉(zhuǎn)的方式很適合于服務(wù)器無(wú)法連接外網(wǎng)的情況,通過(guò)內(nèi)部網(wǎng)絡(luò)(私有倉(cāng)庫(kù))進(jìn)行中轉(zhuǎn)。
以上就是將Docker鏡像從服務(wù)器A遷移到服務(wù)器B的三種方法的詳細(xì)內(nèi)容,更多關(guān)于Docker鏡像遷移的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
docker容器內(nèi)要啟動(dòng)兩個(gè)進(jìn)程時(shí)Dockerfile的實(shí)現(xiàn)代碼
這篇文章主要介紹了docker容器內(nèi)要啟動(dòng)兩個(gè)進(jìn)程時(shí)Dockerfile的實(shí)現(xiàn)代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11
Docker+selenium實(shí)現(xiàn)自動(dòng)化健康報(bào)備的方法
這篇文章主要介紹了Docker+selenium實(shí)現(xiàn)自動(dòng)化健康報(bào)備的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
解決Docker x509 insecure registry的問(wèn)題
這篇文章主要介紹了解決Docker x509 insecure registry的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
Docker遇到502 Bad Gateway問(wèn)題的排查與解決方法
本文詳細(xì)描述了線(xiàn)上部署內(nèi)容服務(wù)時(shí)遇到的502 Bad Gateway問(wèn)題,表面現(xiàn)象指向Nginx和Docker網(wǎng)絡(luò),但最終發(fā)現(xiàn)根因在于應(yīng)用代碼中使用不可重入鎖導(dǎo)致的死鎖,通過(guò)調(diào)整鎖的類(lèi)型并進(jìn)行部署,問(wèn)題得以解決,需要的朋友可以參考下2026-04-04
gitlab-ci配置服務(wù)器自動(dòng)拉取方式
文章主要介紹了如何在GitLab中設(shè)置和使用Runner來(lái)實(shí)現(xiàn)自動(dòng)化部署,包括手動(dòng)設(shè)置Runner,配置.gitlab-ci.yml文件,編寫(xiě)和放置shell腳本,以及設(shè)置免密登錄2025-12-12
Docker內(nèi)部MySQL如何開(kāi)啟binlog日志
這篇文章主要介紹了Docker內(nèi)部MySQL如何開(kāi)啟binlog日志問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04
使用Golang玩轉(zhuǎn)Docker API的實(shí)踐
這篇文章主要介紹了使用Golang玩轉(zhuǎn)Docker API的實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04

