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中使用较多
本文介绍了Docker的四种网络模式:Bridge(默认模式,通过iptables进行端口映射)、None(无网络配置,需手动设置)、Host(共享宿主机网络,端口冲突风险)和Container(共享网络命名空间)。每种模式的特点和应用场景进行了详细阐述,帮助读者理解Docker网络隔离与通信机制。
1862

被折叠的 条评论
为什么被折叠?



