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

[经验分享] docker学习总结六

[复制链接]

尚未签到

发表于 2019-2-20 09:40:35 | 显示全部楼层 |阅读模式
  数据管理
数据卷:容器内数据直接映射到主机环境
数据卷容器: 使用特定容器维护数据卷
数据卷
1. 创建数据卷
使用docker run,用-v标记可以在容器内创建一个数据卷。多次重复使用-v标记可以在容器内创建多个数据卷
下面使用lxc/webapp镜像创建一个容器,并创建一个数据卷挂载到容器的webapp目录,并运行app.py程序:
$ docker run -d -P --name web -v /webapp lxc/webapp python app.py
2. 挂载主机目录作为数据卷(推荐)
$ docker run -d -P --name web -v /src/webapp:/opt/webapp lxc/webapp python app.py   
dokcer挂载数据卷的默认权限是读写(rw),用户也可以通过ro指定为只读:
$ docker run -d -P --name web -v /src/webapp:/opt/webapp:ro lxc/webapp python app.py
3. 挂载本地主机文件作为数据卷(不推荐)
$ docker run --rm -it -v ~/.bash_hostory:/.bash_history ubuntu /bin/bash
这样可以记录在容器中输入过的命令历史了
  数据卷容器
4. 创建数据容器并在其中创建一个数据卷挂载到 /dbdata
$  docker run -it -v /dbdata --name dbdata ubuntu
5. 使用--volumes-from挂载 数据卷容器中的数据卷
$ docker run -it --volumes-from dbdata --name db1 ubuntu
$ docker run -it --volumes-from dbdata --name db2 ubuntu
此时,db1和db2都挂载了同一个数据卷到相同的/dbdata目录。三个容器任何一方在该目录下写入,其他容器都可见。
也可以从已经挂载了容器卷的容器来挂载数据卷。
$ docker run -d --name db3 --volumes-from db1   ubuntu
使用--volumes-from 参数所挂载数据卷的容器自身并不需要保持运行状态。
注意:删除挂载了数据卷的容器并不能删除数据卷,可以再删除最后一个还挂载这数据卷的容器时使用命令docker rm -v 容器ID
利用数据卷容器迁移数据
  6. 备份
$ docker run --volumes-from dbdata -v $(pwd) :/backup --name worker ubuntu tar cvf /backup/backup.tar /dbdata
这条命令的意思是利用ubuntu镜像创建一个容器并命名worker,并且从dbdata容器挂载数据卷,-v 把容器的/backup目录挂载到宿主机当前目录,在容器运行后把 /backup下的backup.tar 解压到/dbdata目录下
7. 恢复
将数据恢复到另一个容器
$ docker run -v $(pwd):/backup ubuntu tar xvf /backup/backup.tar




运维网声明 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-674709-1-1.html 上篇帖子: docker使用管理 下篇帖子: docker学习总结七
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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