如何从 Windows 容器访问 Linux 容器的主机:端口?

如何从 Windows 容器访问 Linux 容器的主机:端口?

基本上,我试图通过同一台机器上的 Windows 容器访问 Linux 容器。从我目前所读到的内容来看,最简单的方法是通过主机和注册端口来执行此操作,但我没有成功。

我在 Windows 10 上运行 Docker Desktop

我有一个正在运行的 Linux 容器(Elasticsearch),我可以通过 localhost:9200 和 nat IP 192.168.224.1:9200 在我的 Windows 机器上访问它

我现在正在运行 4.8-windowsservercore-ltsc2019,但我无法从那里访问 192.168.224.1:9200。我可以 ping nat 192.168.224.1,但当我 curl 192.168.223.1:9200 时失败,并出现超时。

Linux 容器是在其自己的桥接网络上与一堆其他服务一起创建的。

我显然缺少了一些东西来允许我的 Windows 容器访问我的 Linux 容器。

答案1

您需要将两个容器添加到同一个网络,然后就可以让一个容器使用容器名称访问另一个容器。您可以重复使用现有的桥接网络。

docker network create myNetwork
docker network connect myNetwork web1
docker network connect myNetwork web2

https://stackoverflow.com/a/58764482/15142953

至于 192.168.224.1,它是 NAT 网关的 IP 地址,而不是容器在其网络中使用的地址。

相关内容