我正在尝试创建一个 Docker 网络,该网络将使用主机上现有的网桥,但不在此网桥上配置任何 IP。当我运行:
docker network create -o "com.docker.network.bridge.name=br0" testnet
Docker 自动在主机上分配一个 IP 地址,并始终使用该 IP 作为其他容器的网关。
我想要的是一个没有主机 IP 的网络,并使用另一个容器作为网关(此容器连接到多个网络)。我有很好的理由进行这种设置,并且不让主机直接在这些网络之间路由。这可能吗?我该如何实现?
预先感谢您的帮助,
海绵宝宝
答案1
查看源代码后,似乎无法使用bridge
网络驱动程序做到这一点。创建网络函数总是尝试即使网桥已经存在,也要设置 IPv4。 这设置BridgeIPv4该函数在网桥上设置 IPv4 并将该 IP 定义为网络的网关。
我通过使用none
网络驱动程序并使用解决了我的问题管道手动将容器连接到我的主机网桥。此解决方案的缺点是每次重新启动容器时都必须重新将容器连接到网桥,但可以通过在 docker 服务之后启动 systemd 服务来自动完成此操作。