Docker0
我们每启动一个docker容器,docker就会给容器分配一个ip,只要安装了docker,就会有一个网卡docker0进行网络分配
可以用ip addr //查看容器内部地址
我们发现这个容器带来的网卡是一对对的,而使用的技术就是veth pair 技术
veth pair 技术就是一对的虚拟设备接口,它都是成对出现的一端连着协议栈,一端彼此相连着
正因为有这个特性,它常常充当着一个桥梁,连接着各种虚拟网络设备
如图
那么我们来测试一下两个容器之间能否ping通(这里只能是通过一个容器的ip地址),答案是可以的
所以,两个容器有一个公用的路由器,即docker0
所有容器不指定网络情况下都是由docker0路由的,docker会给我们容器分配一个默认可用IP
link
上面两个容器的ping通只能通过ip地址,可以通过–link直接ping通容器服务
直接ping不行
创建容器tomcat03ping通tomcat02
进入容器内部网络
由此可见,link的实质就是在容器hosts配置中增加所要ping的ip地址
自定义网络
link联通一般不常用,我们常用自定义网络
创建桥接网络192.168.0.0/16 网关为192.168.0.1 名字为mynet
使用新建的网络启动一个容器,并进入内部网络,发现已经自动为其分配新建网络的ip地址
网络连通
为实现一个网段中的容器与另一个网段打通,也就是实现一个容器两个ip地址,可以使用connect
参考来源:https://www.bilibili.com/video/BV1og4y1q7M4?p=37&t=450