Docker容器的备份与恢复,Docker镜像的备份与恢复
1. 备份容器
首先,为了备份Docker中的容器,我们会想看看我们想要备份的容器列表。要达成该目的,我们需要在我们运行着Docker引擎,并已创建了容器的Linux机器中运行 docker ps 命令。
# docker ps
Docker Containers List
在此之后,我们要选择我们想要备份的容器,然后去创建该容器的快照。我们可以使用 docker commit 命令来创建快照。
# docker commit -p 30b8f18f20b4 container-backup
Docker Commit
该命令会生成一个作为Docker镜像的容器快照,我们可以通过运行 docker p_w_picpaths
命令来查看Docker镜像,如下。
# docker p_w_picpaths
Docker Images
正如我们所看见的,上面做的快照已经作为Docker镜像保存了。现在,为了备份该快照,我们有两个选择,一个是我们可以登录进Docker注册中心,并推送该镜像;另一个是我们可以将Docker镜像打包成tar包备份,以供今后使用。
如果我们想要在Docker注册中心上传或备份镜像,我们只需要运行 docker login 命令来登录进Docker注册中心,然后推送所需的镜像即可。
# docker login
Docker Login
# docker tag a25ddfec4d2a arunpyasi/container-backup:test
# docker push arunpyasi/container-backup
Docker Push
如果我们不想备份到docker注册中心,而是想要将此镜像保存在本地机器中,以供日后使用,那么我们可以将其作为tar包备份。要完成该操作,我们需要运行以下 docker save
命令。
# docker save -o ~/container-backup.tar container-backup
taking tarball backup
要验证tar包是否已经生成,我们只需要在保存tar包的目录中运行 ls 命令即可。
2. 恢复容器
接下来,在我们成功备份了我们的Docker容器后,我们现在来恢复这些制作了Docker镜像快照的容器。如果我们已经在注册中心推送了这些Docker镜像,那么我们仅仅需要把那个Docker镜像拖回并直接运行即可。
# docker pull arunpyasi/container-backup:test
Docker Pull
但是,如果我们将这些Docker镜像作为tar包文件备份到了本地,那么我们只要使用 docker load 命令,后面加上tar包的备份路径,就可以加载该Docker镜像了。
# docker load -i ~/container-backup.tar
现在,为了确保这些Docker镜像已经加载成功,我们来运行 docker p_w_picpaths 命令。
# docker p_w_picpaths
在镜像被加载后,我们将用加载的镜像去运行Docker容器。
# docker run -d -p 80:80 container-backup
Restoring Docker Tarball
3. 迁移Docker容器
迁移容器同时涉及到了上面两个操作,备份和恢复。我们可以将任何一个Docker容器从一台机器迁移到另一台机器。在迁移过程中,首先我们将把容器备份为Docker镜像快照。然后,该Docker镜像或者是被推送到了Docker注册中心,或者被作为tar包文件保存到了本地。如果我们将镜像推送到了Docker注册中心,我们简单地从任何我们想要的机器上使用 docker run 命令来恢复并运行该容器。但是,如果我们将镜像打包成tar包备份到了本地,我们只需要拷贝或移动该镜像到我们想要的机器上,加载该镜像并运行需要的容器即可。
相关文章:

SpringBoot部署脚本,拿走即用!
一个可以直接拿来使用的shell脚本,适用于springboot项目 #!/bin/bash # 这里可替换为你自己的执行程序,其他代码无需更改,绝对路径相对路径均可。 # 若使用jenkins等工具远程构建,则使用绝对路径,下面的日志输出路径同࿰…

淘宝获取单笔订单信息服务端调用API及流程
淘宝获取单笔交易接口(文档地址):https://open.taobao.com/api.htm?docId54&docType2 调用接口所需依赖(文档地址):https://developer.alibaba.com/docs/doc.htm?treeId1&articleId101618&d…

在Chrome中打开网页时出现以下问题 您的连接不是私密连接 攻击者可能会试图从 x.x.x.x 窃取您的信息(例如:密码、通讯内容或信用卡信息)
现象:在Chrome中打开网页时出现以下问题 您的连接不是私密连接 攻击者可能会试图从 x.x.x.x 窃取您的信息(例如:密码、通讯内容或信用卡信息)。 当点开“了解详情”后显示: 了解详情 NET::ERR_CERT_INVALID 将您访问的…

Dockerfile springboot项目拿走即用,将yml配置文件从外部挂入容器
Dockerfile 将springboot项目jar包打成镜像,并将yml配置文件外挂。 # 以一个镜像为基础,在其上进行定制。就像我们之前运行了一个 nginx 镜像的容器,再进行修改一样,基础镜像是必须指定的。而 FROM 就是指定 基础镜像,…

解决gitte提交报错 error: GE007: Your push would publish a private email address.
错误情况: gitte提交报错,无法提交上去,报错如下: remote: Powered by GITEE.COM [GNK-6.0] remote: error: GE007: Your push would publish a private email address. remote: You can make your email public or disa…

Reject: HTTP ‘DELETE‘ is not allowed, Not injecting HSTS.....DELETE请求PUT请求跨域问题
CORS(DELETE请求、PUT请求) Reject: HTTP DELETE is not allowed [DEBUG] 2021-08-25 15:23:52.401 [http-nio-10010-exec-1] HstsHeaderWriter.writeHeaders(169) - Not injecting HSTS header since it did not match the requestMatcher org.springf…

Not injecting HSTS header since it did not match the requestMatcher HSTS设置问题解决
HSTS请求设置 错误描述:在使用文件上传功能时,form表单提交带有header数据的请求时遇到这个问题,报错如下: Not injecting HSTS header since it did not match the requestMatcher org.springframework.security.web.header.wr…

restTemplate http请求报错:no suitable HttpMessageConverter found for response type and content type
报错信息: org.springframework.web.client.UnknownContentTypeException: Could not extract response: no suitable HttpMessageConverter found for response type [class com.xxx] and content type [text/html;charsetutf-8] 异常原因:RestTempla…

mongo报错:not authorized on bb to execute command { create: \“xxx\“...}
mongo报错: {"ok" : 0,"errmsg" : "not authorized on bb to execute command { create: \"a\", capped: \"1\", lsid: { id: UUID(\"f01a76ec-6261-4886-9a3f-e07169eed122\") }, $db: \"bb\" …

阿里云如何将服务器添加至跳板机,如何将服务器添加至jumpsever
如何将服务器添加至跳板机。 获取跳板机/root/.ssh/id_rsa.pub 中的内容 登陆要添加到跳板机的目标机器 /root/.ssh/authorized_keys 将跳板机id_rsa.pub 内容复制到目标机器的authorized_keys中,累加在后面。 目标机器执行service sshd restart 在跳板机控制台添加…

zip压缩多个文件,解压时不包含目录层级
假设我们有个目录叫 dev,dev中有很多文件,我们想要将dev中的文件打包,名字可能叫dev.zip,但当我们解压的时候,不想要解压生成一个dev目录,想要直接解压在当前目录,这样如何压缩呢? # 进入dev目…

过滤Linux下不同大小的文件,linux查找当前目录下 M/G 大小的文件,删除Linux下指定大小的文件
过滤Linux下不同大小的文件,linux查找当前目录下 M/G 大小的文件,删除Linux下指定大小的文件 find ./ -type f -size 1G| xargs rm在清理系统日志文件、备份文件等场景中,可以使用这个命令。 这里的参数还可以改为 100M 等等,也…

mybatis查询报错:com.mysql.cj.exceptions.DataConversionException: Cannot determine value type from string
mybatis查询报错: com.mysql.cj.exceptions.DataConversionException: Cannot determine value type from string ‘oThZwuK9C-3uWaJaXtbuLJUFTTR4’ 解决方法: 在使用mybatis进行部分字段查询时,查询结果需要放置在对象中,如果参数不全&am…

数据库中自定义排序规则,Mysql中自定义字段排序规则,Oracle中自定义字段排序规则,decode函数的用法,field函数的用法
数据库中自定义排序 场景:有一张banner表,表中有一个status字段,有0, 1, 2三个状态位,我想要 1,0,2的自定义排序(这里是重点),然后再进行之上对s…

docker报错:driver failed programming external connectivity on endpoint, iptables:No chain by that name
docker 报错: Error response from daemon: Cannot restart container hello: driver failed programming external connectivity on endpoint hello (e58d18c830689e296c0fafdd98bf56e973cee3a3fbee8a3f002d46784f69ae70): (iptables failed: iptables --wait -t n…

系统架构升级要不要上微服务?历“久”弥新微服务——你真的需要升级微服务架构吗
在 《微服务架构设计模式》 一书中,作者总结了关于微服务的一些“重点”,原文如下: 中国企业和开发者对微服务架构的热情让我印象深刻。但如同我给所有客户的忠告一样,我想对本书的读者说: 第一,要记住微服务不是…

在k8s中使用gradle构建java web项目镜像Dockerfile
在k8s中使用gradle构建java web项目镜像Dockerfile FROM gradle:6-jdk8 AS build COPY --chowngradle:gradle . /home/gradle/src WORKDIR /home/gradle/src RUN gradle build --no-daemonFROM openjdk:8-jre-slimEXPOSE 10010RUN mkdir /appCOPY --frombuild /home/gradle/sr…

致26岁的自己
2021年10月17日,晴 想到很久很久没有去记录和输出想法,加上最近在不停地不停地思考,总结一下,并给两年后的自己做一个方向性的规划。 首先就是目前所取得的一个阶段性成果,到目前为止,我已经工作两年。在这…

阿里云K8S容器服务的使用
使用阿里云k8s构建服务一. 上传镜像二. k8s运行三. 服务配置导入四. 服务路由五. 节点亲和性和污点管理一. 上传镜像 在阿里云控制台找到“容器镜像服务”,开启镜像服务,这里选择个人实例即可(个人版限额,企业版付费)…

nginx配置http、https访问,nginx指定ssl证书,阿里云腾讯云华为云设置nginx https安全访问
nginx配置http、https访问 要设置https访问需要从对应的云厂商申请证书,并下载Nginx证书到服务器。 我这里从阿里云申请了免费的域名证书,然后将证书放置在服务器的/etc/ssl/.com/路径下,开始配置 这里直接上server节点,放在你…

使用hello word写小说
2021-11-12 使用hello word写小说

2021-10-27 我与地坛
2021-10-27 我与地坛 要是有些事我没说,地坛,你别以为是我忘了,我什么也没忘,但是有些事只适合收藏。不能说,也不能想,却又不能忘。它们不能变成语言,它们无法变成语言,一旦变成语言…

mysql查询字段大小写结果相同,mysql大小写查询不敏感,mysql5.7查询不区分大小写解决方案。
下面有两条sql,主键查询,在mysql中查询到的结果相同。 SELECT* FROM USER WHEREid EM58hdK4nXC;SELECT* FROM USER WHEREid em58hdk4nxc;这种情况就是mysql查询大小写结果相同,因为大小写查询不敏感。 解决方法: 工具中&…

redisson get()数据报错,missing type id property ‘@class’
redisson get()数据报错: com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Missing type id when trying to resolve subtype of [simple type, class java.lang.Object]: missing type id property ‘class’ 详细报错信息如下: com.fast…

go build 编译报错 missing go.sum entry for module providing package
go build 编译报错 missing go.sum entry for module providing package 解决方法 // 移除未使用的依赖 go mod tidy再次编译,就可以了。

在kotlin companion object中读取Bean,注入Bean对象
在kotlin companion object中读取Bean,注入Bean对象 在使用kotlin时,或多或少地会使用到一些公共组件,如 http、 mongo、 redis相关的组件。 使用组件时,我们往往会自定义一些通用的方法,用以全局调用,作…

locust入门:单机使用locust运行压力测试
locust的官方文档在这里: http://docs.locust.io/en/stable/ 前置:locust的测试脚本使用为python(若未安装python环境,可以搜索安装python) 1. 在已有的python环境中,使用pip3 install locust安装locust 2…

本地打包Docker镜像上传至阿里云远程仓库(一站式脚本)
打包镜像上传至远程仓库: 1. 本地项目为 mytest-project 2. 仓库为阿里云镜像仓库 registry.cn-beijing.aliyuncs.com/test/mytest-project #!/bin/sh echo "开始制作镜像..." image_tagdate %Y%m%d #_%H%M echo "当前时间:$image_tag…

mysql建立联合索引,mysql建立唯一键,mysql如何解决重复记录联合索引
在项目中,常常要用到联合唯一 在一些配置表中,一些列的组合成为一条记录。 比如,在游戏中,游戏的分区和用户id会形成一条记录。(比如,一个qq用户可以在艾欧尼亚、德玛西亚创建两个账号) 添加联合唯一索引 alter t…