zoukankan      html  css  js  c++  java
  • docker容器技术之镜像image导入导出(7)

    持久化docker的镜像或容器的方法

    Docker的镜像和容器可以有两种方式来导出

    docker save #ID or #Name
    docker export #ID or #Name
    

    1.docker save和docker export的区别

    对于docker save方法,会保存该镜像的所有历史记录

    对于docker export 方法,不会保留历史记录,即没有commit历史

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

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

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

    2.推荐使用:

    导出tar包>>> docker export -o name.tar container_name|ID

    导入tar包>>> docker import name.tar image_name:tag

    或者:

    容器直接导成镜像>>> docker commit 容器名或id repository:tag

    3.import命令 - image

    从tar包导入为镜像。

    docker import [options] file|URL|- [REPOSITORY[:TAG]]
    
    示例
    docker import nginx-test.tar nginx:imp
    或
    cat nginx-test.tar | docker import - nginx:imp
    

    4.save命令 - image

    从镜像保存导出为tar包。

    docker save [options] images [images...]
    
    示例 
    docker save -o nginx.tar nginx:latest 
    
    或 
    docker save > nginx.tar nginx:latest 
    
    其中 -o 和 > 表示输出到文件,nginx.tar为目标文件,nginx:latest是源镜像名(name:tag)
    
    
    save命令导出多个镜像到一个tar包
    docker save $(docker images | grep -v REPOSITORY | awk 'BEGIN{OFS=":";ORS=" "}{print $1,$2}') -o kube.tar
    

    5.load命令

    导入镜像包,包含原数据

    docker load [options]
    
    示例
    docker load -i nginx.tar
    
    或
    docker load < nginx.tar
    其中-i和<表示从文件输入。会成功导入镜像及相关元数据,包括tag信息
    

    6.export命令

    导出容器为镜像。

    docker export [options] container
    
    示例
    docker export -o nginx-test.tar nginx-test
    
    #导出为tar
    
    docker export #ID or #Name > /home/export.tar
    
    其中-o表示输出到文件,nginx-test.tar为目标文件,nginx-test是源容器名(name)
    

    7.commit

    如果容器导出的镜像没有其他cp需求的话,有种更快的从容器变为镜像的操作,可以说,一步到位,省去导出成镜像tar包,导入镜像tar包的过程:

    docker commit container_name|container_ID repository:tag
    

    帮助文件:

    root@ubuntu:~# docker commit --help
    
    Usage:	docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
    
    Create a new image from a container's changes
    
    Options:
      -a, --author string    Author (e.g., "John Hannibal Smith <hannibal@a-team.com>")
      -c, --change list      Apply Dockerfile instruction to the created image
      -m, --message string   Commit message
      -p, --pause            Pause container during commit (default true)
    
    

    https://www.cnblogs.com/zhuochong/p/10064350.html

  • 相关阅读:
    归并排序(Merge Sort)
    AtCoder AGC035D Add and Remove (状压DP)
    AtCoder AGC034D Manhattan Max Matching (费用流)
    AtCoder AGC033F Adding Edges (图论)
    AtCoder AGC031F Walk on Graph (图论、数论)
    AtCoder AGC031E Snuke the Phantom Thief (费用流)
    AtCoder AGC029F Construction of a Tree (二分图匹配)
    AtCoder AGC029E Wandering TKHS
    AtCoder AGC039F Min Product Sum (容斥原理、组合计数、DP)
    AtCoder AGC035E Develop (DP、图论、计数)
  • 原文地址:https://www.cnblogs.com/davis12/p/14348483.html
Copyright © 2011-2022 走看看