lee 3063 0 2017-02-14 15:40:33

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/container-tomcat-backup.tar container-tomcat-backup
说明:
1./data/images-backup/container-tomcat-backup.tar镜像导出存放路径
2.container-tomcat-backup 镜像在docker里面的名字

恢复命令:
#docker load -i /data/images-backup/container-tomcat-backup.tar

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