• Docker系列--镜像和容器备份与恢复的方法


    原文网址:Docker系列--镜像和容器备份与恢复的方法_IT利刃出鞘的博客-CSDN博客

    简介

    说明

    本文介绍备份和恢复Docker镜像与容器的方法。

    命令对比

    保存与导出

    • docker save:保存的是镜像(image)。(保存的是分层的文件系统,比export的文件大)
    • docker export:保存的是容器(container)。(保存的只是Linux系统的文件目录)

    载入与导入(两者都会恢复为镜像)

    • docker load:载入镜像包(不能对载入的镜像重命名)
    • docker import:载入容器包(可以为镜像指定新名称)

    镜像备份与恢复(save+load)

    导出镜像

    命令

    1. docker save 镜像ID或镜像名称[:版本号] > 镜像导出文件(格式为tar压缩文件)
    2. docker save -o 镜像导出文件(格式为tar压缩文件) 镜像ID或镜像名称[:版本号]

    示例

    1. docker save newtomcat:v1.0 > mytomcat.tar
    2. docker save -o mytomcat.tar newtomcat:v1.0

    导入镜像

    命令

    1. docker load -i 镜像导出文件(格式为tar压缩文件)
    2. docker load < 镜像导出文件(格式为tar压缩文件)

    示例

    1. docker load -i mytomcat.tar
    2. docker load < mytomcat.tar

    容器备份与恢复(export+import)

    导出容器

    命令

    1. docker export -o 容器导出文件(格式为tar压缩文件) 容器ID或容器名称
    2. docker export 容器ID或容器名称 > 容器导出文件(格式为tar压缩文件)

    示例

    1. docker export -o newtomcat.tar mytomcat
    2. docker export mytomcat > newtomcat.tar

    导入容器(导入为镜像)

    命令

    1. docker import 容器导出文件(格式为tar压缩文件) 新镜像名称[:版本号]
    2. docker import /URL 新镜像名称[:版本号]

    示例

    1. docker import newtomcat.tar newtomcat:v1.0
    2. docker import http://example.com/exampleimage.tgz example/imagerepo

    将容器导出为镜像

            运行一个容器时(如果没使用卷),我们任何文件修改都会被记录到容器存储层里。docker commit 可以将容器的存储层保存下来成为镜像。即:原有镜像+容器的存储层=新的镜像,以后运行这个新镜像的时候,就会拥有原有容器最后的文件变化。

    实际环境中并不会这样使用。原因有:

    • 可能会有大量的无关内容被添加进来,导致镜像很大。
    • docker commit 生成的镜像也被称为黑箱镜像。只有制定镜像的人知道执行过什么命令,怎么生成的镜像。

    docker commit特殊的应用场合:被入侵后保存现场等。

    生成镜像

    命令

    docker commit [容器名称|ID] 生成新的镜像名字

    示例

    1. [root@localhost ~]# docker commit nginxweb nginx_test:v1
    2. sha256:a06b16b343036bcbf424c499022ca635bf90740aa7d76acbe0c271a731aba2ef
    3. [root@localhost ~]# docker images
    4. REPOSITORY TAG IMAGE ID CREATED SIZE
    5. nginx_test v1 a06b16b34303 4 seconds ago 127MB

    选项

    1. -a:提交的镜像作者
    2. -c:使用dockerfile指令来创建镜像
    3. -m:提交时的说明文字
    4. -p:在commit的时候,将正在运行的容器暂停

    备份与恢复镜像

    见前边:“镜像备份与恢复(save+load)”

  • 相关阅读:
    (js)封装年月日获取方法,页面根据type判断显示当前年,年月,日期
    springboot升级到2.6.x和2.7.x 兼容hystrix
    Hudi Spark源码学习总结-spark.read.format(“hudi“).load(2)
    Dubbo - 远程debug
    Istio典型应用场景
    vue实现鼠标移入图片播放视频
    EcmaScript标准-导入与导出-js
    C#开发-集合使用和技巧(四)集合中常用的查询方法
    成集云 | 金蝶云星空集成聚水潭ERP(金蝶云星空主管供应链)| 解决方案
    38.JavaScript中异步与回调的基本概念,以及回调地狱现象
  • 原文地址:https://blog.csdn.net/feiying0canglang/article/details/128463604