zoukankan      html  css  js  c++  java
  • docker save load export import的区别

    export

    export命令用于持久化容器(不是镜像)。所以,我们就需要通过以下方法得到容器ID: 
    sudo docker ps -a 
    接着执行导出: 
    sudo docker export <CONTAINER ID> > /home/export.tar

    save

    Save命令用于持久化镜像(不是容器)。所以,我们就需要通过以下方法得到镜像名称: 
    sudo docker images 
    接着执行保存: 
    sudo docker save busybox-1 > /home/save.tar

    使用export比使用save保存的文件要小一些

    load 、save分别是导入、导出镜像image, import、export分别是导入、导出容器container

    两者的使用方法是一样的,导入压缩包生成镜像 
    docker import - busybox-1-export:latest 
    docker import可以重新指定镜像的名字 
    docker load < /home/save.tar

    区别

    那,它们之间到底存在什么不同呢?

    1. 首先,docker import可以重新指定镜像的名字,docker load不可以
    2. 其次,我们发现导出后的版本会比原来的版本稍微小一些。那是因为导出后,会丢失历史和元数据。执行下面的命令就知道了: 
      显示镜像的所有层(layer) 
      sudo docker images --tree 
      执行命令,显示下面的内容。正你看到的,导出后再导入(exported-imported)的镜像会丢失所有的历史,而保存后再加载(saveed-loaded)的镜像没有丢失历史和层(layer)。这意味着使用导出后再导入的方式,你将无法回滚到之前的层(layer),同时,使用保存后再加载的方式持久化整个镜像,就可以做到层回滚(可以执行docker tag 来回滚之前的层)。

      vagrant@Ubuntu-13:~$ sudo docker images --tree
      ├─f502877df6a1 Virtual Size: 2.489 MB Tags: busybox-1-export:latest
      └─511136ea3c5a Virtual Size: 0 B
        └─bf747efa0e2f Virtual Size: 0 B
          └─48e5f45168b9 Virtual Size: 2.489 MB
            └─769b9341d937 Virtual Size: 2.489 MB
              └─227516d93162 Virtual Size: 2.489 MB Tags: busybox-1:latest
  • 相关阅读:
    redis_ 5 集群
    redis_4 主从模式
    redis_3 持久化
    redis_2 数据类型
    linux_ubuntu 连接xftp
    redis_1 安装和简单使用
    Activiti 各个节点涉及的表
    oracle 数据库imp操作导入dmp文件时表空间问题
    ORA-27101: shared memory realm does not exist 错误的处理
    oralce清理user 和tablespace.
  • 原文地址:https://www.cnblogs.com/sunsky303/p/11024672.html
Copyright © 2011-2022 走看看