Docker for mac 1.12.0:如何从容器连接到主机

Ske*_*eve 8 macos virtualization docker

我在我的os x 10.10上更新了docker,所以它现在使用os x本机虚拟化.但是,我发现从我的nginx容器中连接到我的主机很棘手.我试过这个:

/sbin/ip route|awk '/default/ { print $3 }'

得到了答案:

172.17.0.1

然后我在docker-compose.yml中使用了这个ip:

  extra_hosts:
    - "master:172.17.0.1" 
Run Code Online (Sandbox Code Playgroud)

但是我仍然遇到错误:

172.17.0.1 - - [21/Jul/2016:09:33:46 +0000] "GET /api HTTP/1.1" 502 575 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36" "-" 2016/07/21 09:33:46 [error] 7#7: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.17.0.1, server: soc-credit.ru, request: "GET /api HTTP/1.1", upstream: "http://172.17.0.5:8080/api", host: "localhost"

请注意这部分:client: 172.17.0.1.由于我已经从主机发出请求,它证明我在第一步获得的ip是正确的.但无论如何都没有建立联系.

我想强调一下,我在连接FROM WITHIN容器到主机时遇到问题,反之亦然.

我究竟做错了什么?谢谢!

spr*_*nce 15

遇到同样的问题,并且在Docker和网络配置方面缺乏经验,我努力使各种提议的解决方案起作用.但是,由于此更新码头工人为Mac: 泊坞社区版17.06.0-CE-mac18,2017年6月28日(稳定) ,我使用"实验性"的主机名找到docker.for.mac.localhost 可以让我接触的Mac主机上运行从内部服务一个容器.对开发非常有用!


kos*_*tia 8

我遇到了同样的问题,我发现了这个问题

https://docs.docker.com/docker-for-mac/networking/#/known-limitations-use-cases-and-workarounds

请注意段落'我想从容器连接到主机上的服务'

我还没有尝试过,因为我正在寻找一个更具体的解决方案(除了在我的地址中添加别名之外)...

如果有人有东西请告知!