官方 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>