zoukankan      html  css  js  c++  java
  • docker--容器和镜像的导入导出及部署

    镜像导出 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区别>>

     

  • 相关阅读:
    Notepad++ 中如何将代码格式化
    JAVA 解析复杂的json字符串
    8. java操作mongodb——查询数据
    7.第一次使用java连接mongodb遇到的问题
    13. Intellij IDEA调试功能使用总结
    HttpClient4.5简单使用
    12.Intellij IDEA 添加jar包的三种方式
    11.IntelliJ IDEA详细配置和使用教程(适用于Java开发人员)
    10.Intellij IDEA svn的使用详解
    黑客攻克索尼影业,掌控了操作系统的未来
  • 原文地址:https://www.cnblogs.com/mswei/p/10365226.html
Copyright © 2011-2022 走看看