docker 指定特定出口 ip
参考 moby pull 40579: Update DNS library
已经提供一个 com.docker.network.host_ipv4
选项来支持容器选择出口 ip,计划在 docker
的 20.10.0 里程碑(Milestone,截止 2020-10-31)推出。
原理是 dockerd
使用宿主机的 iptables 内核模块做得处理,参考绑定 Dokcer 容器到主机指定网卡
用法
如果你的 docker 版本还未支持 com.docker.network.host_ipv4
选项,可以试试此项目 tozd/docker-external-ip,只要容器的环境变量带有 EXTERNAL_IP
既可指定容器出口 ip,具体使用方法可见项目的 README.md
参考链接
Advanced Docker networking // Custom outgoing IP
Unable to choose outbound (external) IP for containers
Use a specific outbound IP with Docker
moby pull 40579: Update DNS library
- Add support for a
com.docker.network.bridge.inhibit_ipv4
driver label to skip IPv4 configuration of bridge interface docker/libnetwork#2317- Add support for a
com.docker.network.host_ipv4
driver label to choose outbound (external) IP > for containers docker/libnetwork#2454- Improve load balancer performance for ingress network with lots of parallel requests docker/libnetwork#2491