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

    Docker镜像的导入导出
    本文介绍Docker镜像的导入导出,用于迁移、备份、升级等场景,准备环境如下:

    CentOS 7.0
    Docker 1.18
    导入导出命令介绍
    涉及的命令有export、import、save、load

    save
    命令
    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)
    load
    命令
    docker load [options]

    示例
    docker load -i nginx.tar

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

    示例
    docker export -o nginx-test.tar nginx-test
    其中-o表示输出到文件,nginx-test.tar为目标文件,nginx-test是源容器名(name)
    import
    命令
    docker import [options] file|URL|- [REPOSITORY[:TAG]]

    示例
    docker import nginx-test.tar nginx:imp

    cat nginx-test.tar | docker import - nginx:imp
    区别
    export命令导出的tar文件略小于save命令导出的

    export命令是从容器(container)中导出tar文件,而save命令则是从镜像(images)中导出
    基于第二点,export导出的文件再import回去时,无法保留镜像所有历史(即每一层layer信息,不熟悉的可以去看Dockerfile),不能进行回滚操作;而save是依据镜像来的,所以导入时可以完整保留下每一层layer信息。如下图所示,nginx:latest是save导出load导入的,nginx:imp是export导出import导入的。

  • 相关阅读:
    vim符号列表
    vim树形目录
    用java实现二叉树的遍历算法
    Java 泛型
    Java简单实用代码分享,这里一定有你想要的!
    Java对象大小的计算方式
    JavaScript 类型转换
    只需亿小串代码,教你用java仿制qq
    软帝学院教你HTMLDOM是什么
    MySQL 教程
  • 原文地址:https://www.cnblogs.com/ylxtiankong/p/15419434.html
Copyright © 2011-2022 走看看