设为首页 收藏本站
查看: 1293|回复: 0

[经验分享] Docker 数据管理

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-7-31 09:03:19 | 显示全部楼层 |阅读模式
Docker 数据管理数据卷数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性:
  • 1.  数据卷可以在容器之间共享和重用
  • 2.  对数据卷的修改会立马生效
  • 3.  对数据卷的更新,不会影响镜像
  • 4.  卷会一直存在,直到没有容器使用

挂载本地目录到容器建一个数据卷
在用 docker run 命令的候,使用 -v 标记建一个数据卷并挂到容器里。在一次 run 中多次使用可以挂多个数据卷。
#sudo docker run -it -v ~/data:/data --namedv1 centos-sshd:v1 /bin/bash
-v是挂载项,家目录下的data目录挂载到容器的跟目录的data下 --name起一个名字
wKiom1W501qThc3wAADiV4UIj9o343.jpg
在data下创建一个叫a.txt的文件
wKioL1W51VWyZbQZAABmGLZOe0E681.jpg
如图,家目录的data文件下已经有我们创建的a.txt
wKioL1W51V_TPiL1AABuhOv8AkA777.jpg
使用dockerfile挂载
wKiom1W503jDeBpyAABTVgMGzS0686.jpg
编辑dockerfile
wKiom1W504yAdBpbAAHQgntORtY328.jpg
如图成功挂载data0
wKioL1W51buRuSxpAADfML9Aifw738.jpg
权限的限制,在之前挂载目录下只需要加上ro就可以变成只读权限了,如图
#sudo docker run -it -v ~/data:/data:ro--name dv0 centos-sshd:v1 /bin/bash
wKiom1W509zj6PpnAAEMNWHglE4650.jpg
使用#sudo docker inspect命令查看,可以看到已挂载,权限为只读
wKioL1W51dvQTLwNAABfTCQYpEI959.jpg
数据卷容器如果你有一些持更新的数据需要在容器之共享,最好建数据卷容器。
数据卷容器,其就是一个正常的容器,专门用来提供数据卷供其它容器挂的。
我们先启动一个容器dv1,并挂载mydata  使用-v现选项
#sudo docker run -it -v /mydata --name dv1dkv  
wKioL1W51eniboH4AADtsZsWIRA454.jpg

然后添加一个数据卷 使用命令--volumes-from,来读取dv1中的数据
#sudo docker run -it --volumes-from dv1 --name dv2 dkv
wKiom1W51AqSar7EAAB7GRZZipg859.jpg
我们查看下当前挂载的容器。并关闭dv1
wKiom1W51HSxmNRnAAE9_oRAbU4002.jpg
启动dv2,再次查看数据发现数据卷还在 为什么?
这是因为如果除了挂的容器,数据卷并不会被自动删除。如果要除一个数据卷,必除最后一个着它的容器使用 docker rm -v 命令来指定同时删除关的容器。 可以在容器之和移数据卷。 wKiom1W51IbzlAGjAACxFwYWUvA771.jpg
利用数据卷容器来备份、恢复、迁移数据卷备份#sudo docker run --volumes-from dv1 -v~/backup:/backup dkv  tar cvf/backup/backup.tar  /mydata
wKiom1W51JmDsrO5AACpLjw4B80902.jpg
已经备份完毕
wKioL1W51pTwii_EAACCXdsOvW0954.jpg
恢复我们先删除dv1和dv2 然后创建一个dv3
wKiom1W51LHyj7bxAAClP6tQrwg413.jpg
开始还原数据
# sudo docker run --volumes-from dv3 -v~/backup:/backup dkv tar xvf /backup/backup.tar
wKiom1W51MODepXmAABfPNnWPkU229.jpg
再次查看发现数据已经还原回来
wKiom1W51NXyb21dAAC15-QMya4052.jpg
本章教程到此结束,下节主要介绍docker网络



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-92531-1-1.html 上篇帖子: 使用Docker构建CentOS 7 + Tomcat 7 + Oracle JDK 7的WEB服务器 下篇帖子: 创建容器及Dokcer中运行应用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表