第一个 docker1 为执行 ifconfig -a 命令时,显示的网桥名,如果不使用 –opt 参数指定此名称,那你在使用 ifconfig -a 命令查看网络信息时,看到的是类似 br-110eb56a0b22 这样的名字。这显然不怎么好看/记;
第二个 docker1 为执行 docker network list 命令时,显示的网桥名。
有了自定义网络,我们就可以为容器指定一个固定 IP 地址了。
docker run --network=docker1 --ip=172.18.0.100 ......
docker run --network=docker1 --ip=172.18.0.101 ......知道了容器的固定 IP 地址,那我们就可以如法炮制,把该容器绑定到指定主机网卡了:
iptables -t nat -I POSTROUTING -p all -s 172.18.0.100 -j SNAT --to-source 10.0.0.100
iptables -t nat -I POSTROUTING -p all -s 172.18.0.101 -j SNAT --to-source 10.0.0.101
需要注意的是,这里的 -s 选项后面跟的参数是 IP 地址,而不是网段了。
其他相关命令
查看 iptables 规则
iptables -t nat -L -n --line-number删除 iptables 规则
iptables -t nat -D POSTROUTING 11其中,最后的 11 是要删除的规则序号(num)。
删除 Docker 自定义网络
docker network rm docker1










