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

1. 备份容器 

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

 sudo docker ps --由于我本地的虚拟机没有配置docker的全局变量,因此用sudo 执行


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

sudo docker commit -p 6fd1775e7dd0 postgres-backup    -p 容器id  备份镜像名称

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

若是咱们想要在Docker注册中心上传或备份镜像,咱们只须要运行 docker login 命令来登陆进Docker注册中心,而后推送所需的镜像便可。能够参考连接:https://www.jb51.net/os/other/378697.htmlwindows

本地保存:安全

sudo docker save -o ~/postgres.tar postgres-backup1 --将postgres-backup1镜像保存为postgres.tar

2. 恢复容器

恢复容器,迁移在下一个段落。工具

sudo docker load -i ~/postgres.tar

  

 用 docker images 查看docker镜像,运行还原好的docker容器 post

sudo docker run -d -p 5432:5432 postgres-backup

 

三、Linux迁移文件

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

3.一、安装vsftp 用于上传和下载

 

sudo apt-get install vsftpd

 

其它的配置参考:http://www.javashuo.com/article/p-aniwyxzl-cq.html spa

这里主要是讲遇到的一个问题,纠结了半天。.net

用FTP上传工具连接Linux 虚拟机时候,发现上传文件能够上传下去,可是刚刚备份的postgres.tar文件下载不下来,一直报:550 Failed to open file.最后发现是文件权限的问题。

由于文件的权限是root,因此没法下载。解决方法更改文件的权限,这样就能够下载了。改变文件权限详细了解见:http://www.javashuo.com/article/p-aicatipk-hu.html

sudo change test postgres.tar--修改postgres.tar的拥有者为test用户(我本地虚拟机的用户叫test,根据实际更改用户名)

3.二、 Windows访问ubuntu共享文件夹

由于我本地虚拟机是ubuntu,其它Linux命令操做,须要根据实际去了解一下。

一、对要共享的文件夹右击->Local Network Share(本地文件夹共享)

二、选择Share this folder(共享此文件夹),提示安装共享服务,安装共享服务

 

 安装完成后,点击共享。这样就能完成共享了。

 在windows下文件夹填写:\\192.168.12.131\share,这样就能完成访问。若是提示不能访问,将share上面的共享属性改为“容许匿名登陆”,这样就能够了,固然这个安全性有点低。

 共享路径设置能够参照连接:http://www.javashuo.com/article/p-vqkzhjxo-hv.html

相关文章
相关标签/搜索