今天给大家介绍一下docker网络知识。欢迎交流,相互学习!1、docker网络介绍当我们的服务器成功安装docker并启动进程后,会生成一个docker0的虚拟网桥,它本质上是一个Linux网桥(默认是网桥模式),使用的通信技术是Veth-pair技术.我们每次启动一个容器,docker都会给对应的容器分配一个eth0,并且可以桥接docker0网卡。这时候docker0可以看成是一个路由器,每个容器可以看成是连接在路由器上的一个网络设备,docker0用来管理每个容器与docker0通信的映射关系。查看网络信息;ipaddr如下图所示:lo:本地环回地址dockers0:docker容器安装自动生成的docker0地址。2.测试容器与宿主机的通信。2.1主机host通过docker0ping172.17.0.1可以ping通。如果安装的nginx没有ping命令,可以使用下面两个命令安装ping。apt-getupdate#获取更新软件源aptinstalliputils-ping#安装ping命令2.4容器也可以互相ping通--获取所有docker容器的IP地址dockerinspect-f'{{.Name}}-{{.NetworkSettings.IPAddress}}'$(dockerps-aq)nginxtest容器内IP为172.17.05nginxtest02容器内IP为172.17.06测试能否ping通dockerexec-itnginxtest/bin/bashping172.17.0.6dockerexec-itnginxtest02/bin/bashping172.17.0.53,evth-pair技术介绍evth-pair是一对虚拟设备接口,它们都是成对出现的,一端连接协议,另一端连接各自其他,所以他们可以沟通。evth-pair可以充当桥梁。4.Docker网络总结Docker采用了Liunx的桥接原理,宿主机是Docker容器的docker0网桥。Docker中所有网络接口都是虚拟的,虚拟转发效率高。docker容器桥的生成周期:docker容器被删除,对应的一对桥就没有了。
