Docker镜像之不同服务器间迁移方法大全

 更新时间:2023年06月20日 16:30:24   作者:一掬净土  
最近工作中遇到了个需求,要将Docker容器迁移到另外一台服务器上,所以下面这篇文章主要给大家介绍了关于Docker镜像之不同服务器间迁移方法的相关资料,需要的朋友可以参考下

背景需求

有个需求:需要将一台服务器A上的docker镜像迁移到另一台服务器B上,并可以在服务器B上,通过命令docker images可以查看到对应的镜像(这个镜像一般是你自己打包的镜像,不是https://hub.docker.com上的,否则直接下载即可也不用这么麻烦了,当然你没有网,或者包很大,网很差,用这个方法也很Nice)。

下面,我们以一个docker pull nginx:stable-alpine的镜像为例,进行一次迁移:

一、docker镜像打包

1.1 首先下载镜像docker pull nginx:stable-alpine

在服务器A上操作

[root@nb001 ~]# docker pull nginx:stable-alpine
stable-alpine: Pulling from library/nginx
213ec9aee27d: Pull complete 
864534705ce1: Pull complete 
fe2c9e7418f8: Pull complete 
f08ef11b2dfc: Pull complete 
36f0053ae033: Pull complete 
e47e25891bf2: Pull complete 
Digest: sha256:5ba534070ae1e5e83d52141b11ddced689b476c0001e7205f50979dc0cbdde3d
Status: Downloaded newer image for nginx:stable-alpine
docker.io/library/nginx:stable-alpine
[root@nb001 ~]# docker images
REPOSITORY                                             TAG             IMAGE ID       CREATED         SIZE
nginx                                                  stable-alpine   ec84f916d1ec   4 days ago      23.6MB

1.2 打包生成docker镜像

执行镜像打包命令:docker save nginx:stable-alpine > /data/softs/nginx-stable-alpine.tar

在服务器A上操作

命令详解:
docker save [OPTIONS] IMAGE [IMAGE…]
docker save 镜像名称:镜像tag > 打包生成的镜像tar包的绝对路径

[root@nb001 softs]# docker save nginx:stable-alpine  > /data/softs/nginx-stable-alpine.tar
[root@nb001 softs]# ls -lrth | grep nginx-stable
-rw-r--r-- 1 root   root    24M Oct 24 13:36 nginx-stable-alpine.tar

最后,将包通过scp命令迁移到服务器B,或者下载在上传也ok。

番外:
scp nginx-stable-alpine.tar root@服务器IP:/data/tools
回车然后输入yes,密码即可传输。

二、docker镜像导入

在服务器B上操作

2.1 上传tar包到服务器B

将在服务器A上打包好的tar包上传到服务器B的指定位置。我这边是放到了/data/tools下,

如下,发现已经上传

[root@nb001 softs]# docker save nginx:stable-alpine  > /data/softs/nginx-stable-alpine.tar
[root@nb001 softs]# ls -lrth | grep nginx-stable
-rw-r--r-- 1 root   root    24M Oct 24 13:36 nginx-stable-alpine.tar

2.2 导入docker镜像到服务器B

首先在服务器B上查看是没有nginx相关镜像的,执行docker images | grep nginx查看

[root@nb002 tools]# docker images | grep nginx
[root@nb002 tools]# 

执行镜像导入:docker load < /data/tools/nginx-stable-alpine.tar

[root@nb002 tools]# docker load < /data/tools/nginx-stable-alpine.tar
994393dc58e7: Loading layer [==================================================>]  5.827MB/5.827MB
5242cd795028: Loading layer [==================================================>]  19.22MB/19.22MB
286ccd57a256: Loading layer [==================================================>]  3.584kB/3.584kB
8d14dc56a724: Loading layer [==================================================>]  4.608kB/4.608kB
7c4dfec5a9f2: Loading layer [==================================================>]  3.584kB/3.584kB
b85443563c06: Loading layer [==================================================>]  7.168kB/7.168kB
Loaded image: nginx:stable-alpine
[root@nb002 tools]# docker images | grep nginx
nginx                                                          stable-alpine                    ec84f916d1ec   4 days ago      23.6MB
[root@nb002 tools]# 

如上,发现在服务器B上已经成功导入了nginx:stable-alpine镜像

总结

到此这篇关于Docker镜像之不同服务器间迁移方法的文章就介绍到这了,更多相关Docker镜像迁移方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker 手动构建新镜像的方法

    docker 手动构建新镜像的方法

    这篇文章主要介绍了docker 手动构建新镜像的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • Docker Windows最新版(4.17.x)修改镜像存储路径的详细步骤

    Docker Windows最新版(4.17.x)修改镜像存储路径的详细步骤

    这篇文章主要介绍了Docker WIndows最新版(4.17.x)修改镜像存储路径的步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • Dockerfile的EXPOSE和Docker Compose的ports有什么区别详解

    Dockerfile的EXPOSE和Docker Compose的ports有什么区别详解

    Docker是一种容器化技术,提供完整的容器解决方案,能够实现环境一致性、进程隔离和高效部署,这篇文章主要介绍了Dockerfile的EXPOSE和Docker Compose的ports有什么区别的相关资料,需要的朋友可以参考下
    2026-07-07
  • 查看docker容器内部Redis的TCP连接问题

    查看docker容器内部Redis的TCP连接问题

    本文介绍了如何使用`nsenter`命令在宿主机上查询Docker容器内部的Redis连接情况,推荐使用第二种方式,即通过`nsenter`进入容器执行`netstat`命令
    2026-01-01
  • 详解使用 Docker 构建 LNMP 环境

    详解使用 Docker 构建 LNMP 环境

    本篇文章主要介绍了使用 Docker 构建 LNMP 环境,详细的介绍了配置LNMP 环境的步骤。具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • docker的常用命令详解

    docker的常用命令详解

    这篇文章主要列举了docker的常用命令,本文给大家介绍的非常详细,有需要的朋友可以参考阅读
    2023-04-04
  • CentOS7环境下使用Docker搭建PHP运行环境的过程详解

    CentOS7环境下使用Docker搭建PHP运行环境的过程详解

    这篇文章主要介绍了CentOS7环境下使用Docker搭建PHP运行环境,文中给大家提到创建私有网络及安装nginx的方法,本文给大家介绍的非常详细,需要的朋友可以参考下
    2021-08-08
  • docker国内镜像源配置的解决方案

    docker国内镜像源配置的解决方案

    文章介绍了如何配置Docker国内镜像源,以解决拉取镜像时速度慢或无法下载的问题,常见的国内镜像源包括Docker国内镜像源、中科大源、网易源、百度源、腾讯源、阿里源等,配置文件位于/etc/docker/daemon.json,如果没有该文件则需创建并修改
    2025-03-03
  • win10中docker部署和运行countly-server的流程

    win10中docker部署和运行countly-server的流程

    这篇文章主要记录一下windows10中使用docker容器安装和部署countly-server的整个流程,本文给大家讲解的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-11-11
  • 修改已有docker容器中的内容方法

    修改已有docker容器中的内容方法

    这篇文章主要介绍了修改已有docker容器中的内容方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11

最新评论