Docker中容器/镜像的备份、恢复和迁移

编程教程 > Docker Case (4387) 2025-01-27 08:16:42

Docker中容器/镜像的备份、恢复和迁移

今天,我们将学习如何快速地对docker容器进行快捷备份、恢复和迁移。Docker是一个开源平台,用于自动化部署应用,以通过快捷的途径在称之为容器的轻量级软件层下打包、发布和运行这些应用。它使得应用平台独立,因为它扮演了Linux上一个额外的操作系统级虚拟化的自动化抽象层。它通过其组件cgroups和命名空间利用Linux内核的资源分离特性,达到避免虚拟机开销的目的。它使得用于部署和扩展web应用、数据库和后端服务的大规模构建组件无需依赖于特定的堆栈或供应者。

    docker的容器,就是那些创建自Docker镜像的软件层,它包含了独立的Linux文件系统和开箱即用的应用程序。如果我们有一个在机器中运行着的Docker容器,并且想要备份这些容器以便今后使用,或者想要迁移这些容器,那么,本教程将帮助你掌握在Linux操作系统中备份、恢复和迁移Docker容器的方法。

我们怎样才能在Linux中备份、恢复和迁移Docker容器呢?这里为您提供了一些便捷的步骤。
 

1. 备份容器

首先,为了备份Docker中的容器,我们会想看看我们想要备份的容器列表。要达成该目的,我们需要在我们运行着Docker引擎,并已创建了容器的Linux机器中运行 docker ps 命令。
 

# docker ps

docker ps上图列出来的就是在运行的docker容器环境(Docker Containers List)

在此之后,我们要选择我们想要备份的容器,然后去创建该容器的快照。我们可以使用 docker commit 命令来创建快照。

#docker commit -p 23b16cef00c8 container-tomcat-backup

docker commit
说明:
1.23b16cef00c8 :容器ID
2.container-tomcat-backup:备份的景象/快照名称
3.执行该操作所耗时间与容器的大小相关,容器里面东西越多,越耗时间
4.该命令会生成一个作为Docker镜像的容器快照,我们可以通过运行 docker images 命令来查看Docker镜像
 

#docker images


docker images

现在快照已经创建,有两种方式可以保持镜像
1.登录docker用户中心,并将该镜像推送上去
2.导出本地

这里我们讲解第二种方式,实际运用中第二种也比较多,毕竟备份的容器过大恢复和推送到docker中心都需要大量的时间

备份命令:

#docker save -o /data/images-backup/images-backup.tar image-name:version

说明:
1./data/images-backup/images-backup.tar镜像导出存放路径
2.image-name:version 镜像在docker里面的名字和版本(可以跟多个镜像一起导出)

恢复命令:

#docker load -i /data/images-backup/images-backup.tar


说明:
/data/images-backup/container-tomcat-backup.tar备份的镜像路径


评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
Docker中容器/镜像的备份、恢复和迁移今天,我们将学习如何快速地对docker容器进行快捷备份、恢复和迁移。Docker是一个开源平台,用于自动化部署应用,
Docker简介Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可
Docker从容器复制文件到主机sudo docker cp 容器名称/容器id:容器文件/目录 主机目录示例:sudo docker cp nginx:/et
docker 常用命令整理(持续更新)docker运行容器资源相关查看所有运行docker的资源消耗情况docker stats查看指定运行容器资源消耗情况do
背景Docker 对于新手开发者部署一些中间件或者开发环境比较友好,可惜官方image hub已被F...。内部使用必须依赖三方的镜像库,例如阿里云的https
官方命令docker system prune -a特别注意:该命令会删除没有被使用的镜像 over
Docker报错Error running DeviceCreate (createPool) dm_task_run failed,无法启动问题解决 由于我这
在执行多次docker-compose build 之后,我们通过命令`docker images`可以看到很多的REPOSITORY 为<none&gtl; 且tag 也是<non...
问题国区现在已经完全访问不了docker hub的镜像了,对于使用来说很不方便。各个大厂的公共镜像站也陆续下降,除了收费镜像服务外,稍有几个能稳定用的。这里用一
Docker MySQL官方镜像启动默认初始化创建数据库,docker MySQL初始化sql脚本执行,初始化用户sql脚本version: "3.8"netw
概述接前几篇harbor 2.10.x离线安装Harbor 镜像复制后,这里简述docker配合harbor私服镜像pull(拉取)和push(上传)操作示例。
Ubuntu 系统安装DockerUbuntu 在线安装 Docker-XQLEE'Blog (在线安装,需外网好)Ubuntu 安装Docker 国内适用-X
Docker Nodejs 18.20.4 环境编译vue项目 sudo docker run --rm --name node18c -v /your/pro
旧域名:https://hub.docker.com 新域名:https://hubgw.docker.com/
前言随着项目升级,目前存在一些项目是jdk8的一些是jdk17的,让Jenkins 使用主机编译环境成为了问题。故此使用docker环境来编译项目,分离各个版本