如何将流量从 Windows Docker 主机路由到 Linux 容器?

如何将流量从 Windows Docker 主机路由到 Linux 容器?

官方 docker 文档状态

Windows 版 Docker 无法将流量路由到 Linux 容器。

有没有其他解决方法(除了 docker 之外)来实现这个功能?

我目前的设置是:

docker network create --driver bridge --subnet 192.168.1.0/24 alpine-net
docker run --rm --ip 192.168.1.5 -P -dit --name alpine1 --network alpine-net alpine ash

答案1

如果您希望容器从外部可见,请尝试使用 Elevated Power Shell 将端口转发到容器:

netsh interface portproxy add v4tov4 listenaddress=yourip listenport=yourport connectaddress=10.0.75.1 connectport=yourport

你应该看到本地主机如果你的容器是 Linux,则没有问题。

但是,如果你的容器是 Windows,你将看不到本地主机并且您需要使用容器的内部地址:

docker inspect -f "{{ .NetworkSettings.Networks.nat.IPAddress }}" <cointainerid>

相关内容