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

Docker数据管理

时间:2016-05-26 18:32:08      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

1、挂载本地的目录到容器里

# docker run -itd -v /data/:/data1/ centos bash //-v用来指定挂载的目录,/data/为本地目录,:/data1/为容器里的目录

2、挂载数据卷

挂载目录的时候,可以指定容器的name,如果不指定就随机定义了,比如上面我们没有指定,他就生成了一个名字为angry_ritchie的容器,这个名字可以用用docker ps看到,最右侧一列就是

# docker run -itd --volumes-from angry_ritchie(容器的名字) centos bash

这样,使用centos镜像创建了新容器,并且使用了angry_ritchie容器的数据卷

3、定义数据卷容器

有时候,我们需要多个容器之间共享数据,类似于linux里面的NFS,所以就可以搭建一个专门的数据卷容器,然后其他容器直接过载该数据卷:

建立数据卷容器

# docker run -itd -v /data/ --name fansik centos bash //注意这里的/data/是容器的/data目录,并非本地的/data/目录

然后让其他容器挂载该数据卷

# docker run -itd --volumes-from fansik --name=zhangsan centos bash

fansik容器就相当于NFS服务器,所有的数据都存储在fansik镜像上(所以fansik不能随意停止重启等)

4、数据卷的备份

在跟下创建备份目录backup:

# mkdir backup

使用fansik创建容器并把backup目录挂载到容器中

# docker run -itd --volumes-from fansik -v /backup/:/backup/ centos bash

进入容器会看到根目录下有个backup目录还有data目录

# docker exec -it 5a4 bash

将data目录打包,然后放到backup目录下,这样就可以在宿主机的backup里面看到我们备份的data数据了

# tar cvf /backup/data.tar data

5、数据卷的恢复

本人恢复前已经把其他容器全部删除掉了,只是还想用以前容器名字

先创建一个数据卷容器,再建一个新的容器并挂载该数据卷容器,然后再把tar包解包

新建数据卷容器:

# docker run -itd -v /data --name fansik centos bash

挂载数据卷新建容器,并解包:

# docker run --volumes-from fansik -v /backup/:/backup centos tar xvf /backup/data.tar

这条命令执行后就会退出

Docker数据管理

标签:

原文地址:http://www.cnblogs.com/fansik/p/5531997.html

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