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

 更新时间:2025年06月03日 10:11:42   作者:酒酿小圆子~  
这篇文章主要介绍了将postgres:15镜像从服务器A传到服务器B的三种方法:推荐使用Docker Save和Load,通过DockerHub或私有仓库中转,适用于内网环境,每种方法涉及保存/传输/加载或推送步骤,注意权限及网络条件,需要的朋友可以参考下

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

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

docker pull postgres:15

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

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

  • 在服务器A上保存镜像为tar文件:
docker save -o postgres15.tar postgres:15
  • 将tar文件传输到服务器B(使用scp或其他方式):
scp postgres15.tar user@serverB:/path/to/destination
  • 在服务器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
  • 在服务器B上查看镜像:
docker images

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

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

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

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

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

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

以上就是将Docker镜像从服务器A迁移到服务器B的三种方法的详细内容,更多关于Docker镜像迁移的资料请关注脚本之家其它相关文章!

相关文章

  • Docker容器日志查看与清理的方法(亲测有效)

    Docker容器日志查看与清理的方法(亲测有效)

    这篇文章主要介绍了Docker容器日志查看与清理的方法(亲测有效),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • docker容器内要启动两个进程时Dockerfile的实现代码

    docker容器内要启动两个进程时Dockerfile的实现代码

    这篇文章主要介绍了docker容器内要启动两个进程时Dockerfile的实现代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker+selenium实现自动化健康报备的方法

    Docker+selenium实现自动化健康报备的方法

    这篇文章主要介绍了Docker+selenium实现自动化健康报备的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 解决Docker x509 insecure registry的问题

    解决Docker x509 insecure registry的问题

    这篇文章主要介绍了解决Docker x509 insecure registry的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Docker遇到502 Bad Gateway问题的排查与解决方法

    Docker遇到502 Bad Gateway问题的排查与解决方法

    本文详细描述了线上部署内容服务时遇到的502 Bad Gateway问题,表面现象指向Nginx和Docker网络,但最终发现根因在于应用代码中使用不可重入锁导致的死锁,通过调整锁的类型并进行部署,问题得以解决,需要的朋友可以参考下
    2026-04-04
  • Docker 自动部署tomcat详解

    Docker 自动部署tomcat详解

    这篇文章主要介绍了Docker 自动部署tomcat详解的相关资料,需要的朋友可以参考下
    2016-11-11
  • gitlab-ci配置服务器自动拉取方式

    gitlab-ci配置服务器自动拉取方式

    文章主要介绍了如何在GitLab中设置和使用Runner来实现自动化部署,包括手动设置Runner,配置.gitlab-ci.yml文件,编写和放置shell脚本,以及设置免密登录
    2025-12-12
  • Docker内部MySQL如何开启binlog日志

    Docker内部MySQL如何开启binlog日志

    这篇文章主要介绍了Docker内部MySQL如何开启binlog日志问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • 使用Golang玩转Docker API的实践

    使用Golang玩转Docker API的实践

    这篇文章主要介绍了使用Golang玩转Docker API的实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • docker容器的几种存储详解

    docker容器的几种存储详解

    本文主要介绍了docker容器的几种存储方式,主要介绍了3种,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08

最新评论