zoukankan      html  css  js  c++  java
  • Docker镜像的导入导出

    导入/导出命令介绍

    导入/导出的功能主要用于Docker镜像的导入导出,用于迁移、备份、升级等场景,或者为隔离且没有私有镜像仓库环境添加docker镜像。

    导入/导出的命令主要有下面几个:exportimportsaveload,可以分为2组:

    1. save和load
    2. export和import

    下面分别看看他们的用法和区别

    save和load

    命令用法

    sian@ -> ~/manifests$ docker save --help
    
    Usage:	docker save [OPTIONS] IMAGE [IMAGE...]
    
    Save one or more images to a tar archive (streamed to STDOUT by default)
    
    Options:
      -o, --output string   Write to a file, instead of STDOUT
    
      
    sian@ -> ~/manifests$ docker load --help
    
    Usage:	docker load [OPTIONS]
    
    Load an image from a tar archive or STDIN
    
    Options:
      -i, --input string   Read from tar archive file, instead of STDIN
      -q, --quiet          Suppress the load output
    

    导出时使用-o或者输出重定向>将本地镜像仓库中的镜像输出保存到文件中。

    导入时使用-i或者输入重定向<将镜像文件导入到本地镜像仓库。

    实例展示

    ### 输出
    docker save -o nginx.tar nginx:latest 
    或
    docker save > nginx.tar nginx:latest
    
    ### 输入
    docker load -i nginx.tar
    或
    docker load < nginx.tar
    

    export和import

    命令用法

    sian@ -> ~/manifests$ docker import --help
    
    Usage:	docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
    
    Import the contents from a tarball to create a filesystem image
    
    Options:
      -c, --change list      Apply Dockerfile instruction to the created image
      -m, --message string   Set commit message for imported image
    
    sian@ -> ~/manifests$ docker export --help
    
    Usage:	docker export [OPTIONS] CONTAINER
    
    Export a container's filesystem as a tar archive
    
    Options:
      -o, --output string   Write to a file, instead of STDOUT
    

    实例展示

    ### export
    docker export -o nginx-test.tar nginx-test
    
    ### import
    docker import nginx-test.tar nginx:imp
    或
    cat nginx-test.tar | docker import - nginx:imp
    

    两组命令区别

    1. export 命令导出的 tar 文件略小于 save 命令导出的
    2. export 命令是从容器(container)中导出 tar 文件,而 save 命令则是从镜像(images)中导出
    3. export 导出的文件再 import 回去时,无法保留镜像所有历史(即每一层layer信息,不熟悉的可以去看Dockerfile),不能进行回滚操作;而save是依据镜像来的,所以导入时可以完整保留下每一层layer信息。

    最佳实践

    可以依据具体使用场景来选择命令

    1. 若是只想备份images,使用save、load即可
    2. 若是在启动容器后,容器内容有变化,需要备份,则使用export、import
  • 相关阅读:
    windows下wchar_t* 转char*
    VS2010的调试参数/Zi /DEBUG
    fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'
    使用opencv传中文文件崩溃
    【20160924】GOCVHelper综述
    编译ITK
    几款开源图像处理软件评测研究
    新注册域名greenopen.site,向专业道路进军
    openmp在图像处理上面的运用
    实现multbandblend
  • 原文地址:https://www.cnblogs.com/vinsent/p/12119310.html
Copyright © 2011-2022 走看看