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

数据管理

时间:2019-08-18 00:02:38      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:目录   打包   volumes   一个   lin   数据卷容器   命令   tar   保存   

因为docker 重启所有的docker数据都会丢失。怎么保存数据到本址

1、挂载本地的目录到容器里(备份)
docker run -itd -v /data/:/data centos bash
-v 指定挂载目录,前面的是宿主机目录,后面的是容器目录。创建成功后两个目录内容会同步,从面达到备份的目的。
技术图片技术图片

2、挂载数据卷

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

docker run -itd?--volumes-from relaxed_franklin centos bash

--volumes-from后面跟已启动的主机名,使用 relaxed_franklin的数据卷。我们使用了centos 创建了新的容器
技术图片

3、定义数据卷容器
有时候,我们需要多个容器之间相互共享数据,类似于linux里面的NFS,所以就可以搭建一个专门的数据卷容器,然后其他容器直接挂载该数据卷。
首先建立数据卷容器
docker run -itd -v /data/ --name testvol centos ?bash ?//注意这里的/data/是容器的/data目录,并非本地的/data/目录。?然后让其他容器挂载该数据卷
docker run -itd ?--volumes-from testvol aming123 bash

4、数据卷备份恢复
备份
mkdir /data/backup
docker run --volumes-from testvol -v ?/data/backup/:/backup centos tar cvf ?/backup/data.tar /data/

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

挂载数据卷新建容器,并解包:
docker run --volumes-from testvol2 ?-v /data/backup/:/backup centos tar xf /backup/data.tar
技术图片

数据管理

标签:目录   打包   volumes   一个   lin   数据卷容器   命令   tar   保存   

原文地址:https://blog.51cto.com/10690709/2430369

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