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

news2025/8/14 22:45:45

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

简介

说明

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

命令对比

保存与导出

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

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

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

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

导出镜像

命令

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

示例

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

导入镜像

命令

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

示例

docker load -i mytomcat.tar
或
docker load < mytomcat.tar

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

导出容器

命令

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

示例

docker export -o newtomcat.tar mytomcat
或
docker export mytomcat > newtomcat.tar 

导入容器(导入为镜像)

命令

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

示例

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

将容器导出为镜像

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

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

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

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

生成镜像

命令

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

示例

[root@localhost ~]# docker commit nginxweb nginx_test:v1
sha256:a06b16b343036bcbf424c499022ca635bf90740aa7d76acbe0c271a731aba2ef

[root@localhost ~]# docker images
REPOSITORY    TAG   IMAGE ID       CREATED        SIZE
nginx_test    v1    a06b16b34303   4 seconds ago  127MB

选项

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

备份与恢复镜像

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1085509.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

刷新页面,数据丢失

刷新页面数据丢失原因很多&#xff0c;其中有一种是解析错误&#xff0c;没有解构出来。 报错内容如下(类似这个报错)&#xff1a; 数据结构如下&#xff1a; this.$router.push({name: DetailComparison,query: {rowDetail: rowDetail || null} }) 修改数据结构&#xff1a…

2023C语言暑假作业day7

1选择题 1 以下对C语言函数的有关描述中&#xff0c;正确的有【多选】&#xff08; &#xff09; A: 在C语言中&#xff0c;一个函数一般由两个部分组成&#xff0c;它们是函数首部和函数体 B: 函数的实参和形参可以是相同的名字 C: 在main()中定义的变量都可以在其它被调函数…

python安装(windows64简洁版)

一、Python安装 软件安装四部曲 官网下载&#xff08;注意电脑和版本&#xff09;&#xff1a;python官网. 例如window64下载对应版本 环境变量配置 在命令提示框中(cmd) : 输入 path%path%;C:\Python 按下 Enter。 注意: C:\Python 是Python的安装目录。 验证是否安装成功 编…

Windows下Redis3.0集群搭建

redis版本&#xff1a;Redis-x64-3.0.504 复制相同文件 修改文件夹下redis.windows.conf 文件配置(注意&#xff1a;主有密码&#xff0c;从必须有密码且跟主相同) 修改端口&#xff1a; 主库&#xff1a;端口号6379 从库1&#xff1a;修改端口号为6380 从库2&#xff1a;修…

家政服务小程序,家政维修系统,专业家政软件开发商;家政服务小程序,家政行业软件开发

家政服务小程序&#xff0c;家政维修系统&#xff0c;专业家政软件开发商&#xff1b; 家政服务小程序&#xff0c;家政行业软件开发解决方案&#xff0c;家政软件经验丰富实践&#xff0c;系统高度集成&#xff0c;提供师傅端、用户端、… 家政服务app开发架构有 1、后台管理端…

Java的File文件操作案例汇总

Java的File文件操作案例汇总 案例汇总【1】MultipartFile与File的互转&#xff08;1&#xff09;前言&#xff08;2&#xff09;MultipartFile转File&#xff08;3&#xff09;手动删除&#xff08;4&#xff09;File转MultipartFile 【2】前端上传文件&#xff0c;后端解析出文…

拓扑排序求最长路

P1807 最长路 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目要求我们求出第1号到第n号节点之间最长的距离。 我们想到使用拓扑排序来求最长路。 正常来讲&#xff0c;我们应该把1号节点入队列&#xff0c;再出队列&#xff0c;把一号节点能到达的所有的点的入度减一&a…

网线接法aaa

![(https://img-blog.csdnimg.cn/d2901403dbd44feaa8f7be669ddcf2fc.png) 加粗样式 在这里插入图片描述

ZTree自定义不可展开节点的折叠图标

目录 1. 场景2. 实现过程3. ZTree 关键配置代码4. 小结 &#x1f4ac; 1. 场景 需求是自定义去控制某个节点&#xff0c;让它不可以展开&#xff0c;但因为它底下有子节点&#xff0c;所以默认的折叠图标还是&#xff0b;号。 也就是要实现让不可展开的节点前的折叠图标显示-号…

浅谈IT运维-服务请求管理与变更管理的关系与区别

服务请求 用户或用户授权代表发起的服务动作的请求&#xff0c;该服务动作已约定为服务交付的正常部分。服务请求是用户问询的重要类型,也是用户体验的重要组成部分。通常,服务请求包括以下内容: 发起服务动作请求(由服务提供者或与用户一起执行)信息请求资源或服务访问请求反…

Python还有什么赋值?Python赋值语句的多种形式

Python是一种强大且灵活的编程语言&#xff0c;其赋值语句的多样性是其特色之一。除了常见的变量赋值&#xff0c;Python还支持许多其他赋值方式&#xff0c;包括多重赋值、增量赋值以及解包赋值等。在本文中&#xff0c;我们将深入探讨Python中赋值语句的多种形式&#xff0c;…

日志管理工具Zap笔记

文章目录 Uber-go Zap日志库为什么选择 Zap配置 Zap Logger1. Logger2. SugaredLogger 定制logger1. 将日志写入文件而不是终端2. 将JSON Encoder更改为普通的Log Encoder3. 更改时间编码并添加调用者详细信息4. AddCallerSkip5. 将err日志单独输出到文件 使用Lumberjack进行日…

ARM按键中断实验

设置按键中断&#xff0c;按键1按下&#xff0c;LED亮&#xff0c;再按一次&#xff0c;灭 按键2按下&#xff0c;蜂鸣器响。再按一次&#xff0c;不响 按键3按下&#xff0c;风扇转&#xff0c;再按一次&#xff0c;风扇停 src/do_irq.c #include "key_it.h" ex…

基于Java+SpringBoot+Vue精品水果线上销售网站的设计与实现 前后端分离【Java毕业设计·文档报告·代码讲解·安装调试】

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

对验证码的识别爆破

声明&#xff1a;该系列文章首发于公众号&#xff1a;Y1X1n安全&#xff0c;转载请注明出处&#xff01;本公众号所分享内容仅用于每一个爱好者之间的技术讨论及教育目的&#xff0c;所有渗透及工具的使用都需获取授权&#xff0c;禁止用于违法途径&#xff0c;否则需自行承担&…

【Python爬虫原理与基本请求库urllib详解】

Python爬虫原理与基本请求库urllib详解 这篇文章主要介绍了Python爬虫原理与基本请求库urllib详解,爬虫就是通过模拟浏览器&#xff0c;按照一定的规则&#xff0c;自动、大批量的获取网络资源&#xff0c;包括文本、图片、链接、音频、视频等等,需要的朋友可以参考下 文章目录…

java并发之AQS详解(待更)

一、为什么要用AQS同步框架&#xff1f; 开发者如果不了解JMM和多线程编程&#xff0c;就会写出很多线程不安全的程序&#xff0c;即使是经验丰富的程序员&#xff0c;并发编程也难免会出错。 而对于java程序员来说&#xff0c;并发编程就变得容易得多了&#xff0c;因为并发编…

《YOLOv7高阶自研》专栏介绍 CSDN独家改进创新实战 专栏目录

YOLOv7高阶自研专栏介绍: http://t.csdnimg.cn/tYI0c ✨✨✨前沿最新计算机顶会复现 🚀🚀🚀YOLOv7自研创新结合,轻松搞定科研 🍉🍉🍉持续更新中,定期更新不同数据集涨点情况 目录 全网首发&独家改进

C++DAY44

#include <iostream>using namespace std;class Animal//封装 动物 基类 { private:string name; public:Animal() {}Animal(string n):name(n){}virtual void perform() //虚函数{cout << "欢迎来到动物园" << endl;} };class Lion:public Animal…

LeetCode 1517. 查找拥有有效邮箱的用户

题目链接&#xff1a;1517. 查找拥有有效邮箱的用户 题目描述 表: Users Column NameTypeuser_idintnamevarcharmailvarchar user_id 是该表的主键&#xff08;具有唯一值的列&#xff09;。 该表包含了网站已注册用户的信息。有一些电子邮件是无效的。 编写一个解决方案&am…