我在Windows 10计算机(本地主机:8080)上托管了一个Java后端。我的前端(.NET项目)托管在IIS容器中,并且需要与后端进行通信。但是,我无法从容器连接到主机。我可以成功ping通主机的IP地址。但是,当我使用curl访问主机时,它只是失败,并显示“无法连接到远程服务器”错误。有趣的是,我还在Windows 10计算机上运行了MSSQL服务器,并且前端使用主机的计算机名与之进行通信。
Docker版本19.03.2,内部版本6a30dfc
Docker Compose 3.4
更新
结果发现8080端口在我的工作中被阻塞。再说一遍我的问题,Windows容器是否具有与Linux容器所提供的主机域类似的主机域-host.docker.internal?
答案 0 :(得分:1)
如果您正在使用docker-compose,并且想要从容器连接到本地主机,则必须使用host.docker.internal
变量。
例如:
services:
service1:
network_mode: host
environment:
LOCAL_DB_HOST: host.docker.internal