从Docker容器访问主机

时间:2019-09-12 19:54:28

标签: docker docker-compose

我在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?

1 个答案:

答案 0 :(得分:1)

如果您正在使用docker-compose,并且想要从容器连接到本地主机,则必须使用host.docker.internal变量。

例如:

services: 
  service1:
    network_mode: host
    environment:
       LOCAL_DB_HOST: host.docker.internal