PhpStorm test runner在Docker中无法识别共享网络如何解决?
PhpStorm Docker Compose 解释器共享网络不生效修复方案
根因
PhpStorm调用docker-compose启动临时容器执行PHPUnit命令时,默认不会自动加入跨项目共享网络,导致无法解析另一个docker-compose环境中的容器名域名。
修复步骤
- 打开PHP解释器配置页:Windows/Linux路径为
File > Settings > PHP,Mac路径为PhpStorm > Preferences > PHP - 点击CLI Interpreter右侧的编辑按钮,选中当前使用的docker-compose类型PHP解释器
- 在配置页的Docker Compose板块找到
Network mode输入框,填入两个项目共用的共享网络名称(可在宿主机执行docker network ls查看所有网络,找到你提前配置的共享网络名) - 若使用的PhpStorm版本无单独的
Network mode配置项,可在同板块的Options输入框中手动添加运行参数:--network 你的共享网络名称 - 保存所有配置后重新运行测试即可
配置验证
可在测试代码中临时加入以下代码,确认容器已加入目标共享网络:
// 输出当前容器的DNS配置与网卡信息,确认共享网络配置生效 echo shell_exec('cat /etc/resolv.conf && ip addr');
如果输出中包含共享网络对应的IP段,且可以正常解析目标API的容器名,说明配置已生效。
内容的提问来源于stack exchange,提问作者fabpico
相关产品推荐
相关产品推荐

