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

1. 备份容器

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

  1. # docker ps

Docker Containers List

在此以后,咱们要选择咱们想要备份的容器,而后去建立该容器的快照。咱们可使用 docker commit 命令来建立快照。spa

  1. # docker commit -p 30b8f18f20b4 container-backup

Docker Commit

该命令会生成一个做为Docker镜像的容器快照,咱们能够经过运行 docker images 命令来查看Docker镜像,以下。code

  1. # docker images

Docker Images

正如咱们所看见的,上面作的快照已经做为Docker镜像保存了。如今,为了备份该快照,咱们有两个选择,一个是咱们能够登陆进Docker注册中心,并推送该镜像;另外一个是咱们能够将Docker镜像打包成tar包备份,以供从此使用。get

若是咱们想要在Docker注册中心上传或备份镜像,咱们只须要运行 docker login 命令来登陆进Docker注册中心,而后推送所需的镜像便可。it

  1. # docker login 172.16.101.192

Docker Login

  1. # docker tag a25ddfec4d2a arunpyasi/container-backup:test
  2. # docker push arunpyasi/container-backup

Docker Push

若是咱们不想备份到docker注册中心,而是想要将此镜像保存在本地机器中,以供往后使用,那么咱们能够将其做为tar包备份。要完成该操做,咱们须要运行如下 docker save 命令。class

  1. # docker save -o ~/container-backup.tar container-backup

taking tarball backup

要验证tar包是否已经生成,咱们只须要在保存tar包的目录中运行 ls 命令便可。test

 

2. 恢复容器

接下来,在咱们成功备份了咱们的Docker容器后,咱们如今来恢复这些制做了Docker镜像快照的容器。若是咱们已经在注册中心推送了这些Docker镜像,那么咱们仅仅须要把那个Docker镜像拖回并直接运行便可。容器

  1. # docker pull arunpyasi/container-backup:test

Docker Pull

可是,若是咱们将这些Docker镜像做为tar包文件备份到了本地,那么咱们只要使用 docker load 命令,后面加上tar包的备份路径,就能够加载该Docker镜像了。登录

  1. # docker load -i ~/container-backup.tar

如今,为了确保这些Docker镜像已经加载成功,咱们来运行 docker images 命令。打包

  1. # docker images

在镜像被加载后,咱们将用加载的镜像去运行Docker容器。

  1. # docker run -d -p 80:80 container-backup

Restoring Docker Tarball

 

3. 迁移Docker容器

迁移容器同时涉及到了上面两个操做,备份和恢复。咱们能够将任何一个Docker容器从一台机器迁移到另外一台机器。在迁移过程当中,首先咱们将把容器备份为Docker镜像快照。而后,该Docker镜像或者是被推送到了Docker注册中心,或者被做为tar包文件保存到了本地。若是咱们将镜像推送到了Docker注册中心,咱们简单地从任何咱们想要的机器上使用 docker run 命令来恢复并运行该容器。可是,若是咱们将镜像打包成tar包备份到了本地,咱们只须要拷贝或移动该镜像到咱们想要的机器上,加载该镜像并运行须要的容器便可。

相关文章
相关标签/搜索