设置如下:(docker 主机位于中间,通过 ntopng 监控流量)
Router <---> Docker Host <---> PC
<192.168.1.1> <192.168.1.20> <192.168.1.30>
docker 主机有 2 个 NIC(eth0 和 eth1),通过中的文件桥接到 br0 /etc/systemd
。
桥接器本身工作正常,我可以从 Docker 主机和 PC ping 通互联网和路由器,并且 Docker 主机和 PC 可以互相 ping 通,非 docker web 服务也可以访问。
不起作用的是,从 PC 访问任何 Docker 容器端口,docker run -it --rm -p 8080:80 --name web nginx
不允许 PC 访问 Web 服务器,它只是挂起。我也无法从容器内部 ping PC(但可以 ping 路由器)。--net=host
但确实有效。
如果我将 PC 插入路由器,那么我就可以访问它,但当它被 Docker Host 桥接时则无法访问。有什么想法吗?