系列目录

前面我们讲到了使用nexus搭建docker镜像仓库,操作还是有点复杂的,可能有的童鞋仅仅是想尝试kubernetes功能,并不想在搭建仓库上花费过多时间,但是又想在不同的主机之间传递镜像.其实可以通过docker save命令来实现,通过docker save把一个镜像保存为tar格式压缩文件,然后在要使用这个镜像机器上执行docker load命令来加载这个镜像.

复制文件的方式不方便对文件进行版本管理,大家为了方便测试可以这样玩玩,强烈建议生产环境中不要这么做.

通过docker save保存镜像为文件

docker save命令的格式如下

docker save -o <path for generated tar file> <image name></image>
  • -o或者--output,指定输出文件(tar格式)的位置,这里的位置不仅仅是要输出的目录,还包括要保存的tar文件的名称

  • image name 要保存的镜像的名称

例如,以下命令把alpine:latest镜像保存为名为alpine.tar文件(保存位置为当前目录,也可以通过指定绝对路径把镜像保存到指定位置)

docker save -o alpine.tar alpine:latest

保存为文件以后,我们就可以通过cp,scp,ftp等工具把镜像文件复制到目标电脑上

通过docker load加载保存的tar文件

命令格式如下:

docker load -i <path to image tar file>

-i同--input,指定一个tar文件

我们执行命令docker load -i alpine.tar就可以在目标机器上加载我们保存的alpine镜像了.

使用docker export/import来打包/加载镜像

使用docker export/import与使用docker save/load用法类似,不同的是docker save是把一个镜像保存为tar文件,而docker export是把一个运行的容器的文件系统的快照保存为压缩文件,通过docker import从导出的文件系统中创建一个镜像

注意,docker import并不是把导出的容器还原,而是从中生成一个镜像.

通过docker import 导入的镜像将丢失所有元数据和历史记录,实际项目中我们并不关心容器的历史记录和元数据,我们关系的是应用程序的正常运行的优化,使用这种方式生成的镜像一定程度上减小了镜像的体积.

  • docker export 导出容器为压缩文件

命令格式如下:

docker export -o <path for generated tar file> <container name>

此命令类似于docker save,指定要输出的文件路径和文件名,后面跟上要导出的容器的名称或者id

例如通过docker export -o alpine.tar c054把一个运行的容器(id开头为c054)导出为文件.

我们可以查看生成的alpine.tar文件,里面其实是一个linux文件系统

  • docker import 把导出的文件系统导入为镜像

我们通过命令docker import alpine.tar myalpine把刚导出的容器文件系统导出为镜像,并且命名为myalpine

注,这里与docker load不同的是这里不需要-i来指定input对象,而是直接跟要导入的对象,并且可以给导入的镜像命名.

kubernetes实战篇之docker镜像的打包与加载的更多相关文章

  1. Docker镜像保存save、加载load(外网转移至内网)

    (1)查看要要保存的镜像的ID [root@localhost docker]# docker images (2)保存镜像 [root@localhost docker]# docker save  ...

  2. Docker镜像保存save、加载load

    (1)查看要要保存的镜像的ID [root@localhost docker]# docker images (2)保存镜像 [root@localhost docker]# docker save  ...

  3. 转:zTree树控件实战篇:针对多个下拉加载zTree树应该如何做出合理的配置

    今天有一个zTree的朋友遇到一个非常棘手的问题,才研究zTree树控件两天就被上头催着看成果,很是苦恼.他面对的问题就是页面内多个地方需要下拉在其文本框下方加载zTree树,由于对zTree下拉加载 ...

  4. docker镜像批量打包

    docker镜像批量打包 批量打包镜像: # docker save $(docker images | grep -v REPOSITORY | awk 'BEGIN{OFS=":&quo ...

  5. 修改 docker image 安装目录 (解决加载大image时报错:"no space left on device")

    修改 docker image 安装目录 (解决加载大image时报错:"no space left on device" ) 基于Ubuntu16.04 docker版本: 17 ...

  6. [Unity] unity5.3 assetbundle打包及加载

    Unity5.3更新了assetbundle的打包和加载api,下面简单介绍使用方法及示例代码. 在Unity中选中一个prefab查看Inspector窗口,有两个位置可以进行assetbundle ...

  7. kubernetes实战篇之nexus oss服务器部署及基于nexus的docker镜像仓库搭建

    系列目录 Nexus oss仓库管理平台搭建 Nexus是一款仓库管理工具,支持Npm,bower,maven,nuget,apt,yum甚至docker,helm等各种仓库,说的通俗以下,就是私服镜 ...

  8. kubernetes实战篇之部署一个.net core微服务项目

    目录 继上一篇kubernetes理论知识完结.本篇主要讲解基于nexus搭建一个docker镜像仓库(当然大家实践过程是不必完全跟着做,也可以搭建harbor仓库或者直接把镜像推送到docker h ...

  9. kubernetes实战篇之helm安装

    系列目录 Helm是kubernetes的应用包管理工具,是CNCF孵化器下的一个项目,主要用来管理 Charts.类似于 Ubuntu 中的 APT 或 CentOS 中的 YUM.它提供了一种简单 ...

随机推荐

  1. Fedora15下搭建QT开发环境及编译QT(提前一键安装完,qt编译所有必需库 yum install gcc-c++ libXtst-devel freetype freetype-devel fontconfig-devel libXrender-devel )

    看了不少linux上编译qt的文章,实际上直接通过yum 安装qt是最方便的,请参考<yum安装qt> 不过初步接触fedora,为了了解一下如何在linux上编译.安装开源代码,所以必须 ...

  2. Vue-cli入门(一)——项目搭建

    Vue-cli入门(一)——项目搭建 前言: Vue-cli是一款基于vue的项目脚手架工具,其集成了webpack环境和主要的依赖,对于我们的项目搭建.开发.打包.维护管理等都是非常的方便. 主要内 ...

  3. 《芒果TV》UWP版利用Windows10通用平台特性,率先支持Xbox One平台

    在Windows开发者中心开放提交Xbox平台应用之后,<芒果TV>UWP版迅速更新v3.1.2版,通过升级兼容目标,利用Windows10通用平台特性,率先覆盖Xbox平台用户. 芒果T ...

  4. 零元学Expression Blend 4 - Chapter 12 用实例了解布局容器系列-「Viewbox」

    原文:零元学Expression Blend 4 - Chapter 12 用实例了解布局容器系列-「Viewbox」 本系列将教大家以实做案例认识Blend 4 的布局容器,此章介绍的布局容器是Bl ...

  5. WebApi实现验证授权Token,WebApi生成文档等 - CSDN博客

    原文:WebApi实现验证授权Token,WebApi生成文档等 - CSDN博客 using System; using System.Linq; using System.Web; using S ...

  6. EasyUI 实现编辑功能,给Combobox 赋值

    1: <input id="RequestType" name="RequestType" class="easyui-combobox&quo ...

  7. 实现Qt日志功能并输出到文件(使用qInstallMsgHandler安装customMessageHandler)good

    原文 http://www.cppblog.com/lauer3912/archive/2011/04/10/143870.html 一.基本分类:qDebug : 调试信息提示qWarning: 一 ...

  8. elasticsearch local debug环境搭建

    最近计划看看elasticsearch的源码,首先得把local debug环境搞定. 下载源码.因为公司产线是5.6.5,所以就下载了5.6.5的代码. 源码编译.先进入到/elasticsearc ...

  9. DIOCP3 DEMO的编译(去掉VCL前缀)

    总有些朋友问我,关于DEMO编译的一些问题,每次都回答大概都差不多,我想还是写篇说明书给大家,关于DEMO编译的步骤. [环境设定] 1.将DIOCP3\source路径添加到Delphi的搜索路径, ...

  10. Spark之SparkSql

    -- Spark SQL 以编程方式指定模式 val sqlContext = new org.apache.spark.sql.SQLContext(sc) val employee = sc.te ...