镜像导出 save

查看镜像

docker images

导出镜像

docker save -o test.tar image_name

docker save image_name > /test.tar

容器导出 export

导出容器

命令格式为:

docker export [-o|--output[=""]] CONTATINER

或:

docker export 容器id/name >文件名.tar

例如:

docker export -o test.img test

  test.img : 这里可以导出tar文件 , 也可以导出二进制镜像文件img

  test : 需要导出的容器名, 通过docker ps查看

导入压缩包(包括压缩的镜像和容器)

安装dokcer

import

格式:

docker import [-c|--change[=[]]] [-m|--message[=MESSAGE]] file|URL|-[REPOSITORY[:YAG]]

例如:

docker import test.img test

  test : 为镜像名

load

格式:

docker load --input /test.tar

区别:

  1. docker save保存的是镜像(image),docker export保存的是容器(container);

  2. docker load用来载入镜像包,docker import用来载入容器包,但两者都会恢复为镜像;

  3. docker load不能对载入的镜像重命名,而docker import可以为镜像指定新名称。

注意:

  如果是save导出的镜像, 使用import 导入, 会报 Error: No command specified 错误, 所以使用save导出, 尽量使用load导入, 虽然不能重命名, 但是也比报错强

部署镜像

启动镜像

docker run -d --name container_test --privileged -it test:latest /usr/sbin/init

进入镜像

docker exec -it container_test /bin/bash

报错

报错命令

docker load --input test.tar

报错内容

  open /var/lib/docker/tmp/docker-import-500852078/repositories: no such file or dir

报错原因

  通过dcker save 导出的镜像就是一个分层的文件系统。Docker镜像实际上就是由这样的一层层文件进行叠加起来的,上层的文件会覆盖下层的同名文件。如果将docker save导出中的各层文件合并到一起,基本就是docker export导入的的内容。由于docker save里面的各层文件会存在很多重复的文件,所以通过save导出的文件比export导出的文件大100多M。

docker load必须要载入的是一个分层文件系统,而test.tar如果是由docker export 导出的,那么test.tar不具有这样的结构,因此无法载入。

而docker import仅仅是将tar包里面的文件复制进来,所以不管tar包里面的文件结构是怎样的,都可以载入进来,所以能够载入test.tar

报错解决

cat test.tar | sudo docker import - test/ubuntu:v1.0

注意

docker load 只能导入镜像文件(也就是通过save导出的文件)

<<详解docker save-load export-import区别>>

docker--容器和镜像的导入导出及部署的更多相关文章

  1. docker容器和镜像的导入和导出

    镜像的保存 [root@wxtest1607 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE tomcat8 3.0 90457edaf6 ...

  2. [Docker核心之容器、数据库文件的导入导出、容器镜像的导入导出]

    [Docker核心之容器.数据库文件的导入导出] 使用 Docker 容器 在 Docker 中,真正对外提供服务的还是容器,容器是对外提供服务的实例,容器的本质是进程. 运行一个容器 docker ...

  3. docker 保存 加载(导入 导出镜像

    tensorflow 的docker镜像很大,pull一次由于墙经常失败.其实docker 可以将镜像导出再导入. 保存加载(tensorflow)镜像 1) 查看镜像 docker images 如 ...

  4. 理解docker容器和镜像(layer,ufs)和docker命令解释

    博客好文1:http://blog.csdn.net/x931100537/article/details/49633107(理解docker容器和镜像,理解简单,从原理入手,什么是layer,什么是 ...

  5. [转]图解Docker容器和镜像

    本文转自:https://www.cnblogs.com/wangqiaomei/p/5818636.html 图解Docker容器和镜像 这篇文章希望能够帮助读者深入理解Docker的命令,还有容器 ...

  6. 图解Docker容器和镜像

    图解Docker容器和镜像 这篇文章希望能够帮助读者深入理解Docker的命令,还有容器(container)和镜像(image)之间的区别,并深入探讨容器和运行中的容器之间的区别. 当我对Docke ...

  7. 【原创】深入理解Docker容器和镜像 -- 分析了docker的命令含义

    10张图带你深入理解Docker容器和镜像 镜像(Image)就是一堆只读层(read-only layer)的统一视角 要点:容器 = 镜像 + 读写层.并且容器的定义并没有提及是否要运行容器. 一 ...

  8. Docker容器和镜像的区别

    docker容器和镜像区别  转自 https://www.cnblogs.com/bethal/p/5942369.html 这篇文章希望能够帮助读者深入理解Docker的命令,还有容器(conta ...

  9. Docker容器 关于镜像构建的安全问题

    写在前面 确保容器中服务与应用安全是容器化演进的关键点.容器安全涉及到应用开发与维护的整个生命周期,本文主要从镜像构建的视角来看docker容器的一些安全问题及应对措施. 一.权限管理 1.避免以容器 ...

随机推荐

  1. JavaScript数组方法--pop、shift、unshift

    其实还有一个方法push,应该放在一起说的,问题是他跟concat跑了,那只剩下这哥仨了. pop:pop()方法从数组中删除最后一个元素,并返回该元素的值.此方法更改数组的长度.捎带一下push,p ...

  2. centos7 配置lamp 环境

    搭建版本 版本组合 php5.6+apache/2.4.6(centos7)+mysql5.7.24 因为新系统不能确认哪些指令已经搭建  所以安装前需要确认下是否拥有 检测是否已经安装过Vim rp ...

  3. lvs+keepalived+ipvsadm 完整搭建笔记

    原文:http://www.safecdn.cn/2018/12/lvs-keepalived-ipvsadm/ 1.环境介绍: 系统:centos 6.7 keepalived VIP1 :10.0 ...

  4. 使用Java创建指定大小的空文件夹

    /** 方法一 * 创建固定大小的文件 * @param file * @param length * @throws IOException */ public static void create ...

  5. vue每次修改刷新当前子组件

    刚入门vue,发现很多坑,对很多框架兼容性不太友好,比如layui等 每次删除相关信息,更新相关信息,不会主动刷新当前页面内容,只能手动刷新 第一步,我们在跟组件理由设置一个参数,用来判断是否需要刷新 ...

  6. sqlserver2012 数据库差异备份恢复 记录

    sqlserver2012恢复过程: 先恢复全备份,再恢复差异,注意:勾选NoRecovery选项. 恢复完成后,出现: Sqlserver数据库 一直显示“正在还原…” 的状态. 引用:http:/ ...

  7. Linux 下配置 nginx + 两个 tomcat 的负载均衡

    前提:已经安装了 nginx 和两个 tomcat 1.修改 nginx.conf 配置文件    1)在 http{} 节点之间添加 upstream 配置 2)修改 nginx 的监听端口,默认是 ...

  8. python的socke编程

    python的sock编程分为TCP编程和UDP编程,两者不同在于,TCP需要首先建立连接才能发送接收数据,而UDP则可以直接发送接收不需要预先建立连接. tcp编程,我总结为4步 TCP的serve ...

  9. Ubuntu 16.04下配置intel opencl环境

    一. 靠谱的安装教程 1. 官网教程 https://software.intel.com/en-us/articles/sdk-for-opencl-2019-gsg,打开后往下拉到[4. Prod ...

  10. 阿里云单机快速部署K8S

    网上有很多关于K8S部署测试环境的文章,但是有些部署比较繁琐.这里推荐使用 https://github.com/gjmzj/kubeasz地址文章.文章介绍很详细,记录一下方便自己日后学习使用. # ...