tho*_*son 7 laravel docker-compose laravel-sail
我正在尝试在我的 Ubuntu 20.04.3 LTS 桌面上使用最新版本的 laravel sail 设置 xdebug,
即
PHP 8.1
Laravel 9
.env 文件包含以下提到的详细信息
SAIL_XDEBUG_MODE=develop,debug
SAIL_XDEBUG_CONFIG="client_host=172.23.0.1"
Run Code Online (Sandbox Code Playgroud)
但当我跑步时sail debug migrate,返回
Xdebug: [Step Debug] Time-out connecting to debugging client, waited: 200 ms. Tried: 172.23.0.1:9003 (through xdebug.client_host/xdebug.client_port)
当我尝试查找 IP 时,每次
docker inspect -f {{range.NetworkSettings.Networks}}{{.Gateway}}{{end}} <container-name>
返回不同的 IP(例如 172.25.0.1)时它都会发生变化
小智 0
.env只需将其放入以下内容中即可
SAIL_XDEBUG_MODE=develop,debug
SAIL_XDEBUG_CONFIG="client_host=host.docker.internal"
Run Code Online (Sandbox Code Playgroud)
就像在 Windows 和 MacOS 中一样
现在您可以运行sail debug migrate或只是sail debug为了测试它。
您可能正在使用sail down“停止”容器,但正如docker 文档所述:
docker-compose 下来
...
停止容器并删除由. 创建的容器、网络、卷和映像
up。默认情况下,唯一删除的内容是:
- Compose 文件中定义的服务的容器
- Compose 文件的网络部分中定义的网络
- 默认网络(如果使用)
因此,每次运行时,sail up它都会使用新的 IP 地址重新生成网络。
您可以使用sail stop,但是当您处理多个项目时,编辑.env每个项目的每个服务的端口(在文件中)可能会变得很麻烦。
根据v1.10.1,sail 包含了该extra_host选项,主要是检测主机的 IP:
这样,每次我们创建/启动应用程序容器时,都会创建 host.docker.internal 映射并将其指向主机。
编辑:不要忘记更新 Docker,因为这只适用于 Docker v20.10+。
| 归档时间: |
|
| 查看次数: |
2940 次 |
| 最近记录: |