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

数据管理

时间:2016-06-12 15:37:56      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:linux

数据管理
1. 挂载本地的目录到容器里
docker run -tid -v /data/:/data1 aming bash

-v 用来指定挂载目录,:前面的/data/为本地目录,:后面的/data1/为容器里的目录

2. 挂载数据卷

其实我们挂载目录的时候,可以指定容器name,如果不指定就随机定义了。比如上面我们没有指定,它就生成了一个名字为loving_kowalevski,这个名字可以使用命令 docker ps  看最右侧一列

docker run -itd --volumes-from loving_kowalevski centos bash


这样,我们使用aming/centos镜像创建了新的容器,并且使用了 loving_kowalevski  容器的数据卷

自定义容器name
docker run -itd -v /data/:/mnt --name datavol aming/centos bash


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

首先建立数据卷容器

docker run -itd -v /data/ --name test centos  bash 

//注意这里的/data/是容器的/data目录,即test的目录

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

docker run -itd  --volumes-from test  --name web1 centos bash

------web1的data目录和test的data目录是共享状态,实际是同一个

4. 数据卷的备份与恢复

(1)备份

mkdir /vol-backup

docker run --volumes-from test -v  /vol-backup/:/backup centos tar cvf  /backup/data.tar /data/

说明:首先我们需要使用testvol数据卷新开一个容器,同时我们还需要把本地的/vol_data_backup/目录挂载到该容器的/backup下,这样在容器中/backup目录里面新建的文件,我们就可以直接在/vol_data_backup/目录中看到了。 然后再把/data/目录下面的文件打包到成data.tar文件放到/backup目录下面



(2)恢复
思路: 先新建一个数据卷容器,再建一个新的容器并挂载该数据卷容器,然后再把tar包解包。
新建数据卷容器:docker run -itd -v /data/ --name testvol2 aming/centos bash

挂载数据卷新建容器,并解包:docker run --volumes-from testvol2  -v /vol_data_backup/:/backup aming/centos tar xvf /backup/data.tar


数据管理

标签:linux

原文地址:http://xiongrunchu.blog.51cto.com/11696174/1788198

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