码迷,mamicode.com
首页 > 其他好文 > 详细

Docker数据容器卷的创建备份和恢复

时间:2019-02-15 15:39:57      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:挂载   就是   ack   vol   leading   localhost   新建   其它   本地   

数据卷容器

如果容器之间需要共享一些持续更新的数据,最简单的方式就是是用户数据卷容器,数据卷容器就是一种普通容器,专门提供数据卷供其它容器挂载使用。

创建数据卷容器dbdata
docker run -v /dbdata:/dbdata --name dbdata centos

创建db1和db2两个容器,并使用--volumes-from挂载dbdata容器中的数据卷

docker run --volumes-from dbdata --name db1 centos
docker run --volumes-from dbdata --name db1 centos

三个容器任何一个容器在该目录下写入,其他容器都能看见。

[root@localhost ~]# cd /dbdata/
[root@localhost dbdata]# ls
[root@localhost dbdata]# touch index.html
在容器db1里查看
[root@localhost dbdata]# docker exec db1 ls
会看到有新建文件。

备份容器中的数据卷到本地
[root@localhost ~]# docker run --volumes-from dbdata -v $(pwd):/backup --name worker centos tar zcf /backup/backup.tar.gz /dbdata
tar: Removing leading `/‘ from member names
[root@localhost ~]# ls
anaconda-ks.cfg backup.tar.gz
[root@localhost ~]# tar xvf backup.tar.gz
dbdata/
dbdata/test.file
[root@localhost ~]# ls
anaconda-ks.cfg backup.tar.gz dbdata
[root@localhost ~]# ls dbdata/
test.file

恢复

删除容器中的而文件
[root@localhost ~]# docker exec dbdata rm dbdata/test.file
[root@localhost ~]# docker exec dbdata ls dbdata

进行恢复
创建个带有数据卷的容器dbdata2
docker run -it -v /dbdata --name dbdata2 ubuntu /bin/bash

[root@localhost ~]# docker run --volumes-from dbdata2 -v $(pwd):/backup centos tar xvf /backup/backup.tar.gz
dbdata/
dbdata/test.file

查看恢复的
[root@localhost ~]# docker exec dbdata2 ls dbdata
test.file

Docker数据容器卷的创建备份和恢复

标签:挂载   就是   ack   vol   leading   localhost   新建   其它   本地   

原文地址:http://blog.51cto.com/2367685/2350504

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!