docker学习-容器备份

在docker学习中,明白了容器是单独隔离的,但是可能我们要对容器进行备份,特别是数据类的,这点怎么办呢?

例如:目前有一个tomcat1,我们需要对这个tomcat1进行数据备份

方案:

1、先明白这个tomcat1的容器是由哪一个镜像生成

2、直接用这个镜像再次生成一个tomcat容器,并指定tomcat1进行挂载

 

如此我们就可以进行对tomcat1进行备份了,即使tomcat1被干掉了,但是数据仍然存在

tomcat1

[root@localhost test]# docker run --name="centos1" -it -v /home/test centos:7 /bin/bash   # 构建tomcat1容器,假设数据都放在/home/test下面,所以我们直接采用匿名挂载方式对这个目录进行挂载
[root@4a9cabfafe93 /]# ls
anaconda-post.log  etc   lib64  opt   run   sys  var
bin                home  media  proc  sbin  tmp
dev                lib   mnt    root  srv   usr
[root@4a9cabfafe93 /]# cd /home/
[root@4a9cabfafe93 home]# ll
total 0
drwxr-xr-x. 2 root root 6 Apr 30 02:11 test

 

tomcat2

[root@localhost ~]# docker run -it --name=centos2 --volumes-from centos1 centos:7   # 使用 run下面的--volumes-from 参数指定容器进行挂载
[root@a4a18c56d34c /]# cd /home/
[root@a4a18c56d34c home]# ll
total 0
drwxr-xr-x. 2 root root 6 Apr 30 02:11 test
[root@a4a18c56d34c home]# cd test/
[root@a4a18c56d34c test]# ll
total 0
[root@a4a18c56d34c test]# mkdir a   # 在test中新建一个a目录

 

测试下,在tomcat2中新建目录后数据是否同步到tomcat1中(由于挂载之后这里其实是双向同步的,所以只用测试一下即可)

 

posted @ 2021-04-30 10:28  大渝  阅读(295)  评论(0编辑  收藏  举报