docker容器备份恢复

1.备份

1.1查看要备份的容器id:

docker ps

1.2 将容器提交为镜像: 

docker commit :

这里可以设置参数 :

-a :提交的镜像作者;

-c :使用Dockerfile指令来创建镜像;

-m :提交时的说明文字;

-p :在commit时,将容器暂停。

1.3 查看备份的镜像

dock images查看镜像制作成功

1.4 将镜像保存为tar文件

docker save -o /home/jenkins_backup/jenkins_backup.tar

-o :输出到的文件。

1.5 备份容器数据

docker run --rm --volumes-from myjenkins -v /home/jenkins_home/:/home/jenkins_home/ jenkins tar zcvf /home/jenkins_home/data.tar.gz /var/jenkins_home

-rm 待补充

--volumes-from myjenkins 原docker的容器名称

-v :/home/jenkins_home/:/home/jenkins_home/  挂在再本地和docker共享的volume

jenkins  docker镜像名称

tar zcvf  /home/jenkins_home/data.tar.gz /var/jenkins_home 打包tar.gz的命令,其中 /var/jenkins_home就是docker里的jenkins的工作目录

2.恢复

2.1 将镜像的备份文件tar,容器的数据备份tar.gz文件拷贝到另一个pc上

这里将tar文件拷贝到了/root/test/下,

将data.tar.gz 拷贝到/home/jenkins_home/下

chown -R 1000:1000 /home/jenkins_home

2.2 进入到tar文件目录下,执行加载tar生成镜像文件:

cd /root/test

docker load -i (或者 cat jenkins_backup.tar | docker load)

2.3查看镜像有新的镜像文件生成,但是没有tag,给镜像打tag

docker tag :

2.4 恢复数据

docker run --rm -v /home/jenkins_home/:/home/jenkins_home/ -v /home/jenkins_home:/var/jenkins_home jenkins tar xzvf /home/jenkins_home/data.tar.gz

--rm :待补充

-v /home/jenkins_home/:/home/jenkins_home/ :本地和docker容器共享的卷

-v(第二个):本地的卷和docker容器虚拟的卷映射关系

jenkins 恢复的数据之前的镜像名称

tar xzvf /home/jenkins_home/data.tar.gz :要解压tar.gz的命令

2.5 启动容器

docker run -d -p 8800:8080 -p 50000:50000 -v /home/jenkins_home:/var/jenkins_home --name jenkins2 jenkins_backup:jenkins_backup

-d: 后台运行

-p:端口映射关系(宿主机端口:docker容器端口)

-v :卷映射关系(宿主机卷:docker虚拟卷)

--name:容器名称

jenkins_backup:jenkins_backup:镜像的名称:镜像的TAG

你可能感兴趣的:(docker容器备份恢复)