docker0
- 在安装docker时,会创建一个新的网络接口,名字是docker0,每个docker容器都会在这个接口上分配一个IP地址。
- docker0本身的地址是172.17.42.1,这个地址也是所有容器的网关地址
- 接口docker0是一个虚拟的以太网桥,用于连接容器与本地宿主网络
- 可在宿主机执行
ifconfig
查看docker0的信息
veth
- docker每创建一个容器,就会创建一组互联的网络接口
- 这组接口就像管道的两端,一端是容器里的eth0接口,另一端则是vethxxxx,vethxxxx绑定在docker0上
- 可以把veth接口认为是虚拟网线的一端,这个虚拟网线一端插在docker0虚拟网桥上,另一端查到容器里
- 可在宿主机执行
ifconfig
查看vethxxxx的信息
可以利用docker内部网络来完成容器间的相互连接,但是存在很大的缺陷
- 应用程序要对docker容器的IP地址做硬编码
- 如果容器重启,容器的IP地址会发生变化