Docker for Mac 无法访问主机外的容器

Docker for Mac cannot access containers outside of host

我正在使用 docker-compose 在本地构建和 运行 我们的应用程序。这一切都很好,但我无法从主机外部访问 apache 容器。它最终会超时 "server stopped responding".

docker 文档很糟糕,尽管我尽了最大努力 "docker for mac" 对 Google 来说太笼统了,无法理解它是产品名称而不是描述。

Docker for Mac 不使用 VirtualBox,我找不到任何设法让它工作的人,也找不到任何绝对不可能的信息。

我已经检查了所有明显的东西:

  1. Mac防火墙已关闭。
  2. web 容器不应绑定到本地主机,0.0.0.0:1234->80/tcp
  3. 我在 mac 上使用 ssh -L 11234:127.0.0.1:1234 -N 127.0.0.1 进行了端口转发,但在 11234 上访问它会出现同样的错误。

接下来我可以尝试什么?

当你运行它发布端口时使用 -p 选项

docker 运行 -p 1234:80 .....

/编辑

此外,考虑设置一个默认的 docker-机器,它往往会使 Mac 上的事情变得更好。

/再次编辑

docker-machine create --driver virtualbox default

如果你使用了docker-machine,你可以通过命令轻松显示docker-machineip

docker-machine ip default

然后在浏览器中输入 ip

我发现是我们的内部 wifi 网络阻止了这两个设备之间的通信。所以它从一开始就有效。我要关闭这个。