我正在开发一个项目,需要将主机的本地网络桥接到 Docker 容器。容器需要能够与主机位于同一本地网络上的其他设备进行通信。
以下是我的设置的具体信息:
主机操作系统:Windows Docker版本:4.29.0 网络配置:docker conterner中的IP 192.168.65.6 192.168.65.3 172.17.0.1 172.18.0.1,本地ip 192.168.0.112(网关192.168.0.1)
任何帮助或指示将不胜感激。
我尝试使用 --network 主机选项,但它似乎没有为我的用例提供所需的功能。容器需要看起来像是本地网络的一部分,具有自己的 IP 地址,网络上的其他设备可以直接与之通信。
实现这一目标的最佳实践或配置是什么?我应该使用任何特定的 Docker 网络模式或其他工具吗?
最佳实践是什么
没有最佳实践。这是一种不寻常的做法。
或实现此目的的配置?
容器需要看起来像是本地网络的一部分,并具有自己的 IP 地址
基本上您要做的就是为本地网络上的外部接口分配两个 IP 地址。然后你必须编写复杂的 iptables 路由规则,以便第二个 IP 地址通过一些伪装路由到 docker 容器地址。而且第一个 IP 地址不被主机上的任何东西处理。
Docker 有没有具体的网络模式
没有。
或者我应该使用其他工具?
iptables、nftables、ip