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

[经验分享] rancher中级(一)(rancher的存储,网络)

[复制链接]

尚未签到

发表于 2017-11-22 20:20:44 | 显示全部楼层 |阅读模式

容器的存储机制
  参考 http://dockone.io/article/128;http://dockone.io/article/129;
  Docker镜像是由多个文件系统(只读层)叠加而成。当我们启动一个容器的时候,Docker会加载只读镜像层并在顶部添加一个读写层。如果运行中的容器修改了现有的一个已经存在的文件,那该文件将会从读写层下面的只读层复制到读写层,该文件的只读版本仍然存在,只是已经被读写层中该文件的副本所隐藏。当删除Docker容器,并通过该镜像重新启动时,之前的更改将会丢失。在Docker中,只读层及在顶部的读写层的组合被称为Union File System(联合文件系统)。
  为了能够保存(持久化)数据以及共享容器间的数据,Docker提出了Volume的概念。简单来说,Volume就是目录或者文件,它可以绕过默认的联合文件系统,而以正常的文件或者目录的形式存在于宿主机上。   
  Volume可以将容器以及容器产生的数据分离开来,当使用docker rm my_container删除容器时,不会影响相关的数据。
  
  Volume可以使用以下两种方式创建:
  编写dockerfile:在Dockerfile中指定VOLUME /some/dir
  在容器启动时执行命令:docker run -v /some/dir命令来指定
  
  无论哪种方式都是做了同样的事情。它们告诉Docker在主机上创建一个目录(默认情况下是在/var/lib/docker下),然后将其挂载到指定的路径(例子中是:/some/dir)。当删除使用该Volume的容器时,Volume本身不会受到影响,它可以一直存在下去。
容器数据的备份
  在数据备份前首先需要了解数据容器的概念,常见的使用场景是使用纯数据容器来持久化数据库、配置文件或者数据文件等。官方的文档上有详细的解释。
  当使用数据容器时,那做备份是相当容易的:
  $ docker run --rm --volumes-from dbdata -v $(pwd):/backup debian tar cvf /backup/backup.tar /var/lib/postgresql/data
  该示例应该会将Volume里所有的东西压缩为一个tar包
跨主机共享卷
  同主机共享:
  容器也可以与其它容器共享Volume。
  docker run --name my_container -v /some/path ...
  docker run --volumes-from my_container --name my_container2 ...
  上面的命令将告诉Docker从第一个容器挂载相同的Volume到第二个容器,它可以在两个容器之间共享数据。
  如果执行docker rm -v my_container命令,而上方的第二容器依然存在,那Volume不会被删除,如果不使用docker rm -v my_container2命令删除第二个容器,那它会一直存在
  跨主机共享:
  方法一:分布式数据卷BitTorrent的同步
  方法二:通过NFS共享数据
  方法三:Rancher实现共享卷和跨主机数据访问
  具体可参考链接http://www.dockerinfo.net/2384.htmlhttps://zhuanlan.zhihu.com/p/21096218
Linux配置nfs服务
参考http://www.iyunv.com/Linux/2016-04/129848.htm
   DSC0000.png
在商店中添加nfs驱动服务
DSC0001.png

添加数据卷
   DSC0002.png
添加一个mysql服务,将数据库数据存在数据卷中
  选择上周创建的webapp应用中的mysql服务,为其添加卷,卷驱动为提前添加的rancher-nfs驱动,配置格式为“卷名:数据路径”
   DSC0003.png
  查看添加后结果
DSC0004.png

  使用mysql图形化界面工具,建立连接,连接地址为rancher宿主机ip地址,端口为mysql容器所暴露出的端口号,通过sql文件生成表
DSC0005.png DSC0006.png

  查看宿主机内搭建nfs服务时所配置共享目录,sharedata目录下的文件,运行mysql服务所产生的数据已经被共享到此目录下
DSC0007.png

  访问网站,并登录数据库中所存储的用户名与密码,数据访问成功
验证服务升级或者删除后数据是否还存在
  将mysql服务升级
DSC0008.png

  重新连接mysql图形界面 数据表仍然存在 DSC0009.png
网络
本地网络docker0
  http://www.cnblogs.com/xhyan/p/6235999.html
overlay网络(CNI)
  http://cizixs.com/2016/06/13/docker-overlay-network
  http://tonybai.com/2016/02/15/understanding-docker-multi-host-networking/
  https://qinghua.github.io/docker-overlay-network/
ipsec网络与安全策略
     http://lzozhuyk.blog.51cto.com/782498/277920

运维网声明 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-409640-1-1.html 上篇帖子: salt package manager (SPM) 下篇帖子: Ubuntu 16.04安装Intel显卡驱动(解决Intel HD Graphics 630显卡驱动问题)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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