当前位置: 首页 > news >正文

将 Docker 镜像从服务器A迁移到服务器B的方法

在日常工作中,我们有时会需要将服务器 A上的镜像上传至服务器B上,下面给出具体操作方式,以镜像 postgres:15 为例进行讲解。

首先在服务器A上拉取 镜像 postgres:15 ,命令如下:

docker pull postgres:15

下面再将服务器A上的postgres:15镜像上传至服务器B,主要有以下几种方式:

方法1:使用 Docker Save 和 Load(推荐)

  1. 在服务器A上保存镜像为tar文件:
docker save -o postgres15.tar postgres:15
  1. 将tar文件传输到服务器B(使用scp或其他方式):
scp postgres15.tar user@serverB:/path/to/destination
  1. 在服务器B上加载镜像:
docker load -i postgres15.tar

注意:这里可能出现报错:

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 权限执行 docker load 命令

sudo docker load -i postgres15.tar
  1. 在服务器B上查看镜像:
docker images

在这里插入图片描述

方法2:使用 Docker Hub 作为中转

  1. 在服务器A上登录Docker Hub:
docker login
  1. 给镜像打标签并推送(需要你有Docker Hub账户):
docker tag postgres:15 yourusername/postgres:15
docker push yourusername/postgres:15
  1. 在服务器B上拉取镜像:
docker pull yourusername/postgres:15

方法3:使用私有仓库中转(内网环境)

如果你有私有Docker仓库(如Harbor等):

  1. 在服务器A上打标签并推送:
docker tag postgres:15 your-registry.com/your-project/postgres:15
docker push your-registry.com/your-project/postgres:15
  1. 在服务器B上拉取:
docker pull your-registry.com/your-project/postgres:15

注:私有仓库中转的方式很适合于服务器无法连接外网的情况,通过内部网络(私有仓库)进行中转。

相关文章:

  • 【Axure结合Echarts绘制图表】
  • “安康杯”安全生产知识竞赛活动流程方案
  • ATPrompt方法:属性嵌入的文本提示学习
  • 本周 edu教育邮箱注册可行方案
  • 车载通信网络 --- 传统车载网络及其发展
  • 【C++高级主题】异常处理(四):auto_ptr类
  • C++异步日志系统
  • 力扣 155.最小栈
  • sqli-labs第二十七关——Trick with selectunion
  • Queue 与 Deque 有什么区别?
  • 人工智能第一币AISPF,首发BitMart交易所
  • C++笔记-哈希表
  • etcd之etcd curl命令(七)
  • 《反事实棱镜:折射因果表征学习的深层逻辑》
  • AI时代新词-私有数据与AI结合的技术:隐私保护与数据利用的平衡
  • 多头注意力 vs 单头注意力:计算量与参数量区别
  • 游戏行业DDoS防护:基于IP信誉库的实时拦截方案
  • 【数据集】基于ubESTARFM法的100m 地温LST数据集(澳大利亚)
  • 批量转存夸克网盘内容并分享实操教程
  • 002大模型-提示词工程,少样本提示,角色扮演,思维链
  • 网页设计网站制作收获/龙泉驿网站seo
  • 肥城网站建设公司/企业网站建站
  • 扬州网站推广/seo基础入门视频教程
  • 做雨棚的网站/谷歌引擎搜索入口
  • 网站管理平台模板/互联网平台公司有哪些
  • 外包网站开发多少钱/国内最开放的浏览器