8、浅聊Docker网络

8、Docker网络

理解Docker0(Docker网络)

image-20200610191302268

网卡有3个,分别代表3种环境。

测试

#拉去镜像并创建容器
docker run -d -P --name tomcat01 tomcat

#查看容器内网卡
docker exec -it tomcat01 ip addr

#Linux可以ping通docker容器内部

原理

  1. 我们每启动一个docker容器,docker就会给容器分配一个ip;
  2. 只要安装了docker,就会有一个网卡docker0,是桥接模式,采用veth-pair技术!

veth-pair技术

  1. 是一对的虚拟设备接口,她们都是成队出现的,一段连着协议,一段彼此相连;
  2. 充当一个桥梁,连接各种虚拟网络设备

网络模型图

image-20200610222701615

结论

  1. tomcat01和tomcat02是公用的一个路由器,docker0;
  2. 所有的容器在不指定网络的情况下,都是docker0路由的,docker会给容器分配一个默认的可用IP;

小结

image-20200610223159782

  1. docker种的所有的网络接口都是虚拟的,虚拟的转发效率高;
  2. 容器被删除,对应网桥消失;
8.1 link
docker run -d -P --name tomcat03 --link tomcat02 tomcat #在容器创建的时候link其它容器,解决网络联通问题,可直接通过容器名ping通

探究

docker network inspect #查看docker网络具体信息

link实现的原理:host映射

#查看容器内hosts文件
docker exec -it tomcat02 cat /etc/hosts

不推荐使用**–ink**,推荐使用自定义网络。

docker0问题:不支持容器名的连接访问。

8.2 自定义网络
docker netwok ls #显示所有的docker网络

网络模式

  1. bridge:桥接(docker默认),在docker上面搭桥。
  2. none:不配置网络。
  3. host:和宿主机共享网络。
  4. container:容器网络连通。

测试

docker run -d -P --name tomcat01 --net bridge tomcat #--net增加网络
#docker0特点,默认,域名不能访问,--link可以打通连接

docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet #创建网络

docker network ls 	#查看网络
docker network inspect mynet 	#查看自己的网络

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rVAST7fw-1591846610594)(http://qiniu.cy-yz.cn/picture/202006/11/092104-719404.png)]

结论

  1. 自定义的网络docker已经维护好了对应的关系。

  2. 网络之间隔离,不同集群使用不同网络,保证集群健康。

    image-20200611092433365

  3. 网络之间如何连通?

    docker network connect mynet tomcat01 	#打通容器和其它网卡的连接
    #将容器加入到要连接的网络里面,结果,一个容器拥有两个ip地址
    

感谢狂神老师的视频支持点击跳转

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值