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

教程分享 > Java教程 (4427) 2024-11-20 12:05:22

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备份的镜像路径

https://www.leftso.com/article/46.html

相关文章
docker入门使用教程/linux(centos)系统docker制作教程
Docker报错Error running DeviceCreate (createPool) dm_task_run failed,无法启动问题解决 由于我这
在本文中,您将学习如何构建用于运行Spring引导应用程序的Docker镜像。我首先给你一个docker的简要概念,然后我们将为我们的spring启动应用程序创建一个docker镜像,并在本地运...
背景Windows版本(Windows 10)docker 默认程序安装到c盘,数据存放于 C:\Users\当前用户名\AppData\Local\Docker\wsl\data\ext4.v...
docker 镜像制作报错 [Warning] IPv4 forwarding is disabled. Networking will not work.问题解决办法
mongodb数据库备份(mongodump)/恢复(mongorestore)
拉取镜像sudo docker pull harisekhon/hbase 运行容器sudo docker run -d -h myhbase -p 2181:2181 -p 8080:8...
docker-compose 报错:[root@VM_0_17_centos gateway]# docker-compose up Building gatewayServer unkno...
启动docker web服务时 虚拟机端口转发 外部无法访问,WARNING: IPv4 forwarding is disabled. Networking will not work.
前言随着项目升级,目前存在一些项目是jdk8的一些是jdk17的,让Jenkins 使用主机编译环境成为了问题。故此使用docker环境来编译项目,分离各个版本
eolinker 开源版5 PHP版Docker部署eolinker Docker部署准备工作docker 服务docker-compose组件eolinker开源版5关联文章:Ubuntu 在...
nacos使用docker进行单机快速部署,适用于开发环境和测试环境。nacos准备环境Linux (Ubuntu )dockerdocker-compose 相关文章:Ubuntu 在线安装 ...
直接查看多少行日志sudo docker logs -f -t --tail 行数 容器名滚动日志sudo docker logs -f -t --tail -f 容器名​​​​​​​代码段 小部件
问题描述the input device is not a TTY环境执行命令或者脚本中有docker命令,且非终端设备直接执行,是后台操作 解决办法例如doc