Docker0

我们每启动一个docker容器,docker就会给容器分配一个ip,只要安装了docker,就会有一个网卡docker0进行网络分配
可以用
ip addr //查看容器内部地址
Docker网络
Docker网络

我们发现这个容器带来的网卡是一对对的,而使用的技术就是veth pair 技术
veth pair 技术就是一对的虚拟设备接口,它都是成对出现的一端连着协议栈,一端彼此相连着
正因为有这个特性,它常常充当着一个桥梁,连接着各种虚拟网络设备
如图

Docker网络
那么我们来测试一下两个容器之间能否ping通(这里只能是通过一个容器的ip地址),答案是可以的

Docker网络
所以,两个容器有一个公用的路由器,即docker0
所有容器不指定网络情况下都是由docker0路由的,docker会给我们容器分配一个默认可用IP

Docker网络
Docker网络

link

上面两个容器的ping通只能通过ip地址,可以通过–link直接ping通容器服务

直接ping不行
Docker网络
创建容器tomcat03ping通tomcat02
Docker网络

进入容器内部网络
Docker网络
由此可见,link的实质就是在容器hosts配置中增加所要ping的ip地址

自定义网络

link联通一般不常用,我们常用自定义网络

创建桥接网络192.168.0.0/16 网关为192.168.0.1 名字为mynet
Docker网络
Docker网络
使用新建的网络启动一个容器,并进入内部网络,发现已经自动为其分配新建网络的ip地址
Docker网络
Docker网络

网络连通

为实现一个网段中的容器与另一个网段打通,也就是实现一个容器两个ip地址,可以使用connect
Docker网络
Docker网络

参考来源:https://www.bilibili.com/video/BV1og4y1q7M4?p=37&t=450

相关文章:

  • 2022-01-04
猜你喜欢
  • 2021-09-01
  • 2021-08-09
  • 2021-05-21
相关资源
相似解决方案