主机多网卡的情况下,可能会涉及容器和网卡的绑定。主要分两个方向:入口流量网卡的绑定、出口流浪网卡的绑定。

入口流量绑定

入口流量绑定很简单,容器在绑定主机端口时指定主机的网卡或相应网卡的IP(如果主机公网IP与内网IP不同,应绑定内网IP)。

出口流量绑定

出口流量走Docker网桥。一般情况下,网桥是随机出口流量的。可以通过iptables限制网桥与网卡流量方向。可以创建多个网桥设备,设置不同的导流规则,同时让容器绑定不同的网桥。

iptables -t nat -I POSTROUTING -p all -s 172.17.0.1 -j SNAT --to-source 192.168.1.100

参考文章