1)bridge
相当于NAT,是默认模式。
—客户端想要访问容器一的服务,会先通过宿主机的外网网卡eth0,根据iptables进行端口映射,把172.17.0.2:80端口转发,最后访问10.0.0.100:8080就可以获取容器一的服务。在这个过程中,也经过了docker:0。
尽管外网客户端可以访问宿主机内容器的服务,但不能直接ping通容器的IP。
—容器一和容器二之间的服务也可以相互访问,在同一个宿主机内部,通过docker:0网卡即可相互连接。
—容器通过docker:0和eth0网卡之间相互的内核转发,可以访问外网。
2)none
无网络模式
docker容器没有网卡、IP、路由等信息,需要手动为docker容器添加网卡、配置IP等。
3)host
共用宿主机的network namespace
docker容器直接使用宿主机的IP和端口,但宿主机上已经使用的端口就不能用了,网络隔离性较差。
4)container
与其他容器共用network namespace,在K8S中使用较多