Xdebug在Docker集装箱内的流浪汉

Xdebug在Docker集装箱内的流浪汉,docker,debugging,vagrant,phpstorm,xdebug,Docker,Debugging,Vagrant,Phpstorm,Xdebug,我已经在PHP容器中配置了Xdebug,该容器由docker compose inside Vagrant运行 让Xdebug在PhpStorm中工作的最佳方法是什么,以及如何公开docker容器调试器信息(端口9000),以便在启用的PHP调试连接侦听器上与PhpStorm建立连接。由于有两个通信层(PC->Vagrant->Docker),PhpStorm可能无法访问Docker 我试过使用ngrok,它成功地“公开”了docker容器,这样PhpStorm就可以监听Xdebug所在的端口,

我已经在PHP容器中配置了Xdebug,该容器由docker compose inside Vagrant运行

让Xdebug在PhpStorm中工作的最佳方法是什么,以及如何公开docker容器调试器信息(端口9000),以便在启用的PHP调试连接侦听器上与PhpStorm建立连接。由于有两个通信层(PC->Vagrant->Docker),PhpStorm可能无法访问Docker


我试过使用ngrok,它成功地“公开”了docker容器,这样PhpStorm就可以监听Xdebug所在的端口,但不知何故,当调试器打开时,我的整个页面都被破坏了,在这种情况下,它不能正常工作。

我认为这在PhpStorm中是不可能的:我们使用临时帮助文件和相应的映射来访问Docker服务&在Vagrant的情况下,这些映射无法正确应用,因为Vagrant安装程序使用另一组映射。我在使用ngrok时开始获取一些日志,但是我的页面被破坏了,我想这是因为映射,它不断地要求一些文件,这些文件不存在于本地机器上,而是在Docker容器(Symfony缓存和供应商文件夹)中生成的。是的,这就是我要说的。IDE对Docker使用一组帮助文件,对Vagrant使用另一组帮助文件。当一个在另一个内部操作时,IDE不能同时使用它们。我认为这在PhpStorm中是不可能的:我们正在使用临时帮助文件和相应的映射来访问Docker服务&在Vagrant的情况下,这些映射无法正确应用,因为Vagrant安装程序使用另一组映射。我在使用ngrok时开始获取一些日志,但是我的页面被破坏了,我想这是因为映射,它不断地要求一些文件,这些文件不存在于本地机器上,而是在Docker容器(Symfony缓存和供应商文件夹)中生成的。是的,这就是我要说的。IDE对Docker使用一组帮助文件,对Vagrant使用另一组帮助文件。当一个在另一个内部操作时,IDE不能同时使用它们。