Xdebug无法连接回到Docker主机

我刚刚在我的机器上安装了Docker,并且安装了Nginx / PHP7(FPM)/ MySQL设置,但是在PHP容器上安装了Xdebug,我无法将它连接回主机上的PHPStorm。

这是我的PHP Xdebugconfiguration…

zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts- 20151012/xdebug.so xdebug.remote_log=/usr/local/var/log/xdebug.log xdebug.remote_enable=1 xdebug.remote_host=192.168.99.1 xdebug.remote_port=9000 xdebug.remote_connect_back=1 xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.remote_autostart=true 

浏览时,使用为容器设置的Xdebug启用cookie,没有提示连接。 如果我浏览本地托pipe的网站,那么我知道PHPStorm的收听是正确的。

在本地机器上,我可以telnet到端口9000 …

 $ telnet 192.168.99.1 9000 Trying 192.168.99.1... Connected to 192.168.99.1. Escape character is '^]'. ^] telnet> quit Connection closed. 

…但是我不能从boot2docker虚拟机或容器。 当我尝试它只是坐在那里无所事事。 然而,虚拟机和容器都可以很好地ping主机。

我尝试禁用我的Mac的防火墙,但仍然没有喜悦。

我不太清楚如何禁用boot2docker虚拟机上的防火墙。

任何洞悉为什么这不起作用将受到大大欢迎。 提前致谢。

您需要使用从Docker主机桥接到Mac的networking。 在Mac上执行ifconfig并查找其他本地networking上的本地IP,例如10.0.1.13 。 (Docker版本的具体细节可能有所不同,但是这与Docker主机的Vagrant一​​起工作,并且适用于大多数虚拟机。)