专栏首页PHP技术大全docker 镜像与容器的导入导出操作实践

docker 镜像与容器的导入导出操作实践

一、背景

公司有一台测试服务器,网速比较慢,特别是下载一些国外站点镜像的时候,而我本机则比较快,所以在思考一个问题;是否能在我本地把镜像下载下来,然后复制到测试服务器中。

二、思路

我一开始想的是把镜像文件直接拷贝到测试服务器对应的目录,不过在查找相关资料发现docker本身就提供了导入和导出的功能,因此到这个过程到简单了,docker导出和导入的功能中也分了镜像与容器的概念。

2.1 容器

导出容器的命令:

docker export furious_bell > /home/myubuntu-export-1204.tar

导入容器的命令:

docker import - /home/myubuntu-export-1204.tar

2.2 镜像

保存镜像命令:

docker save 9610cfc68e8d > /home/myubuntu-save-1204.tar

加载镜像命令:

docker import - /home/myubuntu-export-1204.tar

三、实际过程

我的操作过程是使用镜像来导出导入,因为这个镜像是用于linux下的检测,而我的电脑是mac系统,因此根本无法运行这个容器;这里顺带提一下导出镜像与导出容器的区别,如果是导出容器,是不会导出这个镜像之前的层信息的,也就是说无法回滚,而导出镜像他的信息更加完整,还可以通过命令 (docker images --tree) 进行查看。

3.1 查看本地镜像

docker images

输入命令后可以看到我们docker中所有的镜像列表

REPOSITORY                              TAG                 IMAGE ID            CREATED             SIZE
grafana/grafana                         v1                  34518891d49b        6 days ago          246MB
ubuntu                                  latest              735f80812f90        2 weeks ago         83.5MB
grafana/grafana                         latest              3e16e05be9a3        2 weeks ago         245MB
prom/mysqld-exporter                    latest              e80442e91b90        5 weeks ago         17MB
centos                                  latest              49f7960eb7e4        2 months ago        200MB
ppabc/lanmp-alpine                      latest              c7dfcbceae73        2 months ago        144MB
quay.io/prometheus/node-exporter        latest              3082fb6ef716        2 months ago        22.9MB

3.2 保存镜像为文件

输入下面的命令将保存镜像到文件,第三个参数为镜像ID,后面的路径为我们要保存的位置。

docker save 3082fb6ef716 >  ~/dockerFile/node-exporter.tar

当docker执行完成之后,我们可以通过命令来查看是否保存成功,如下命令

cd ~/dockerFile && ls -al

可以看到,我们文件夹下一句存在导出的镜像

total 47520
drwxr-xr-x   3 song  staff       102  8 10 11:00 .
drwxr-xr-x+ 39 song  staff      1326  8 10 11:00 ..
-rw-r--r--   1 song  staff  24327680  8 10 10:24 node-exporter.tar

3.3 复制文件到服务器

可以通过SCP命令复制镜像到测试服务器

scp ~/dockerFile/node-exporter.tar tangqingsong@192.168.43.22:/home/tangqingsong/

复制完成之后,在登陆服务器中进行查看是否成功,命令

ls -al node-exporter.tar

如果能看到以下文件信息,则代表复制成功

-rw-r--r-- 1 tangqingsong tangqingsong 24327680 8月  10 10:24 node-exporter.tar

3.4 服务器导入镜像

docker导入镜像命令

docker load < /home/tangqingsong/node-exporter.tar

导入镜像过程中的输出信息

ad68498f8d86: Loading layer [==================================================>]  4.628MB/4.628MB
ad8512dce2a7: Loading layer [==================================================>]  2.781MB/2.781MB
cc1adb06ef21: Loading layer [==================================================>]   16.9MB/16.9MB
Loaded image ID: sha256:3082fb6ef716808294633b41e3ab10f182505c4d1d70c758a443ba75fb2ef8f1

3.5 查看导入结果

查看docker的镜像列表

docker images

从镜像列表中可以看到我刚才导入的文件已经存在了镜像列表中

REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
ubuntu                       18.04               113a43faa138        2 months ago        81.2MB
quay.io/calico/node          v3.1.0              ad8d84fa5f8c        4 months ago        277MB

作者:汤青松

微信:songboy8888

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 通过Web安全工具Burp suite找出网站中的XSS漏洞实战(二)

    笔者6月份在慕课网录制视频教程XSS跨站漏洞 加强Web安全,里面需要讲到很多实战案例,在漏洞挖掘案例中分为了手工挖掘、工具挖掘、代码审计三部分内容,手工挖掘篇...

    汤青松
  • 使用PHP搭建Web版Docker管理系统实践

    团队中使用容器比较频繁,但并不是所有人都可以登陆服务器去执行命令,但是又需要用到docker,所以有一个需求通过web来管理docker,而其他语言并不怎么熟悉...

    汤青松
  • grafana+prometheus快速搭建MySql监控系统实践

    对于LNMP环境下的开发者来说,mysql是非常重要的一环,同时mysql的性能监控也是开发者所需要关注的一环;如果大家使用阿里云的RDS会感觉到其监控功能非常...

    汤青松
  • docker磁盘空间管理

    docker 主要包括镜像、容器和数据卷三部分,对docker的磁盘空间管理也主要从着三块入手,在做docker磁盘空间分析之前我们需要简单了解下容器的“镜像层...

    机械视角
  • Docker学习之Docker镜像基本使用

    Docker学习之Docker镜像基本使用 获取镜像 命令格式:docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[...

    用户1141560
  • Dockerfile

    爱撒谎的男孩
  • 跟我一起学docker(三)--镜像的常用操作

    IT故事会
  • Docker的三个概念

    KEVINGUO_CN
  • Docker 入门(一)

    程序明明在我本地跑得好好的,怎么部署上去就出问题了?如果要在同一台物理机上同时部署多个 node 版本并独立运行互不影响,这又该怎么做?如何更快速的将服务部署到...

    凌虚
  • Jib使用小结(Maven插件版)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    程序员欣宸

扫码关注云+社区

领取腾讯云代金券