Docker网络模型
Bridge模式(默认)
Docker程序启动后会创建一个bridge0网桥,并分配一个IP,可以想象成一个虚拟的交换机,创建的容器实例都会通过虚拟网卡veth pair设备连接到这个网桥上,并以网桥IP作为网关,这样就可以实现容器间的通信。 如果容器内程序想访问宿主机服务,则可以直接访问bridge0的IP,注意:此流量不走localhost,宿主机上服务需要监听0.0.0.0,并且此方法在不同系统间不通用。 如果容器内程序想访问外网服务,则需要通过SNAT机制,将来自容器内部的源IP替换成宿主机IP。 如果外部程序想访问容器内服务,则需要在启动容器时做端口绑定,也是通过iptables添加一条DNAT规则,实现目的IP转换。如:
1 |
|