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

[经验分享] 19、《每天5分钟玩转Docker容器技术》学习

[复制链接]

尚未签到

发表于 2019-2-22 06:57:41 | 显示全部楼层 |阅读模式
  一、docker注意事项
  1、不要私自创建docker用户和组。
  2、做实验时,给虚拟机做快照,尽量在安装完成操作系统、ssh、vim、docker、docker images下载之后。(之前的写了一半的章,表示。。。)

  3、docker daemon文件注意如下;
  /etc/systemd/system/docker.service.d/xxx..conf
  /lib/systemd/system/docker.service
  /etc/docker

  二、环境描述

  以容器方式运行 Consul:


  通过 http://192.168.56.131:8500 访问 Consul

修改 docker02docker03 的 docker daemon 的配置文件,将docker02和docker03注册到consul数据库中
注意:docker v1.11版本之后,以systemd方式管理docker,默认没有创建配置文件,需要自己创建/etc/systemd/system/docker.service.d/docker.conf,详情参考官网文档:
https://docs.docker.com/engine/admin/systemd/

https://docs.docker.com/engine/admin/

启动参数说明:https://docs.docker.com/engine/reference/commandline/dockerd/

       sudo mkdir /etc/systemd/system/docker.service.d
  实际情况中使用docker-machine安装的docker host都会有此文件,使用apt-get或yum安装的一般都不会有,如果没有此文件,并且创建此文之后有如下报错


  可以修改/lib/systemd/system/docker.service


将docker01和docker02主机进行更改,添加如下内容:

--cluster-store=consul://192.168.56.131:8500   指定需要连接的consul数据库;

--cluster-advertise=ens33:2376  指定通过哪个网口进行连接;

重启 docker daemon

systemctl daemon-reload

systemctl restart docker


  三、overlay实验

  可以看到将两台docker主机docker01和docker02添加到了docker-mgr主机的consul数据库中
  第一步:在docker01主机中创建overlay网络over_net01



  docker02主机中确认

  第二步:网卡信息确认以docker01主机为例

  从这里可以确认docker0网卡的IP地址为172.17.0.1,是172.17.0.0网段

  第三步:运行容器在over_net01网络中,本次实验容器排布如下


  第四步:创建容器


  做任何事情都有先后顺序,我们从container--host的顺序来解释网络情况,篇幅较长,跟住别丢
  第五步:容器网络信息以xbox1为例



  6: eth0@if7        10.0.0.2/24
  9: eth1@if10      172.18.0.2/16

  有两条路由,分别是:
  10.0.0.0            下一跳         10.0.0.2                6: eth0@if7

  172.18.0.0       下一跳         172.18.0.2            9: eth1@if10
  第六步:docker01主机端的网卡信息




  8: docker_gwbridge            172.18.0.1/16            overlay网络新创建了一个网络
  10: veth5b93e51@if9           虚拟网卡                可以得知此网卡桥接至docker_gwbridge
  14: vethada8f0e@if13          虚拟网卡               可以得知此网卡桥接至docker_gwbridge
  第七步:容器和主机之间的网卡关系

  eth1网卡在第五步时我们分析到xbox1有两个网卡,可以得到如下信息:
  6: eth0@if7        10.0.0.2/24
  9: eth1@if10      172.18.0.2/16
  至此第一条网络梳理可以明确,如下:

  容器中:        9: eth1@if10      172.18.0.2/16            -------            docker主机中:            10: veth5b93e51@if9             172.18.0.1           -----            8: docker_gwbridge
  这是桥接的基础知识,不了解的同学请尽快掌握,这是docker网络学习的基础
  这里测试下容器是否可以访问外网,这里以访问www.baidu.com为例


  可以访问外网,那又是如何出去的呢?通过traceroute进行测试

  可以发现容器是通过172.18.0.0网段出去,即通过docker_gwbridge出去,其中192.168.56.2是vmware的NAT网卡地址,发现172.18.0.1直接跳转了192.168.56.2,这里是NAT,又通过NAT跳转到192.168.1.1,路由器的地址,然后出去到运营商,最后到www.baidu.com

  至此,容器的其中一个网卡的数据走向已经明确,具体如下:


  eth0网卡
  那eth0网卡又是什么情况呢?我们并没有看到eth0网卡的信息?
  这里涉及到另外一个概念容器的namespace,不妨我们大胆的想象,另一条网络就是通过namespace进行的,依据这个想象,我们进行验证

  docker network inspect over_net01


  信息查看,这次我们依据host-------namespace的顺序进行

  可以看到信息
  10: veth5b93e51@if9            link-netnsid 1
  14: vethada8f0e@if13            link-netnsid 2



  是不是发现    7: veth2@if6    这个网卡有点眼熟?这正是我们eth0网卡的连一个虚拟网卡,我们继续往下看

  发现所有网卡都被桥接到了br0上,正是这样,我们容器之间通信可以完成了
  具体结构如下:


  至此overlay网络单节点关系梳理清楚。





运维网声明 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-675448-1-1.html 上篇帖子: 18、《每天5分钟玩转Docker容器技术》学习--Overlay Network 下篇帖子: docker容器资源配额控制之cpu
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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