下面,介绍如何快速地对docker容器进行快捷备份、恢复和迁移。
Docker是一个开源平台,用于自动化部署应用,以通过快捷的途径在称之为容器的轻量级软件层下打包、发布和运行这些应用。它使得应用平台相对独立,因为它扮演了 Linux上一个额外的操作系统级虚拟化的自动化抽象层。通过其组件cgroups和命名空间利用Linux内核的资源分离特性,达到避免虚拟机开销的目的。它使得用于部署和扩展web应用、数据库和后端服务的大规模构建组件无需依赖于特定的堆栈或供应者。
所谓的容器,就是那些创建自Docker镜像的软件层,它包含了独立的Linux文件系统和开箱即用的应用程序。如果我们有一个在机器中运行着的 Docker容器,并且想要备份这些容器以便今后使用,或者想要迁移这些容器,那么,本教程将帮助你掌握在Linux操作系统中备份、恢复和迁移 Docker容器的方法。
怎样才能在Linux中备份、恢复和迁移Docker容器呢?这里为您提供了一些便捷的步骤。
1. 备份容器
为了备份Docker中的容器,先看想要备份的容器列表。需要在运行着Docker引擎,并已创建了容器的Linux机器中运行 docker ps 命令。
# docker ps
选择我们想要备份的容器,然后去创建该容器的快照。
使用 docker commit 命令创建快照。
# docker commit -p 30b8f18f20b4 container-backup
该命令会生成一个Docker镜像的容器快照,运行 docker images 命令查看Docker镜像:
# docker images
上面做的快照已经作为Docker镜像保存了。现在,为了备份该快照,有两个选择,
一 是登录Docker注册中心,推送该镜像;
1. 备份:如果想要在Docker注册中心上传或备份镜像,只需运行 docker login 命令登录进Docker注册中心,推送所需的镜像即可,如:
# docker login
代码如下:
# docker tag a25ddfec4d2a arunpyasi/container-backup:test# docker push arunpyasi/container-backup
2. 恢复:接下来,成功备份了Docker容器后,恢复这些制作了Docker镜像快照的容器。如果已经在注册中心推送了这些Docker镜像,那么仅需要把那个Docker镜像拖回并直接运行即可,如:
# docker pull arunpyasi/container-backup:test
二 是将Docker镜像打包成tar包备份,供今后使用:
如不想备份到docker注册中心,而是想要将此镜像保存在本地,以供日后使用,那么可以将其作为tar包备份。
1. 备份:运行 docker save 命令
# docker save -o ~/container-backup.tar container-backup
要验证tar包是否已经生成,只需要在保存tar包的目录中运行 ls 命令即可。
2. 恢复:容器
如果将这些Docker镜像作为tar包文件备份到了本地,那么只要使用 docker load 命令,后面加上tar包的备份路径,就可以加载该Docker镜像了,如:
# docker load -i ~/container-backup.tar
测试:
现在,为了确保这些Docker镜像已经加载成功,运行 docker images 命令。
# docker images
在镜像被加载后,将用加载的镜像去运行Docker容器。
# docker run -d -p 80:80 container-backup
2. 迁移Docker容器
迁移容器同时涉及到了上面两个操作,备份和恢复。可以将任何一个Docker容器从一台机器迁移到另一台机器。在迁移过程中,首先将容器备份为Docker镜像快照。然后把Docker镜像推送到Docker注册中心,或者被作为tar包文件保存到本地。
如将镜像推送到了Docker注册中心,简单地从任何想要的机器上使用 docker run 命令来恢复并运行该容器。
如将镜像打包成tar包备份到了本地,只需要拷贝或移动该镜像到想要的机器上,加载该镜像并运行需要的容器即可。
其它相关信息
http://www.savh.cn/thread-1328.htm
转载请注明:Savh.Cn 发表