我正在尝试将我的 ray 应用程序连接到在 docker 容器上运行的项目。我正在使用 Macbook Pro。我已按照https://spatie.be/docs/ray/v1/environment-specific-configuration/docker给出的说明进行操作。
我也遵循了所有的光线安装说明,通过输入
composer require spatie/laravel-ray
将我的 ray.php 的 remote_path 设置为
'/var/www/html'
及其 local_path 到
'/Users/me/test-projects/project/'
我还更新了我的项目的 docker-compose.yaml 以包含https://spatie.be/docs/ray/v1/environment-specific-configuration/docker推荐的 extra_hosts: 行。
services:
laravel.test:
build:
context: ./vendor/laravel/sail/runtimes/8.0
dockerfile: Dockerfile
args:
WWWGROUP: '${WWWGROUP}'
image: sail-8.0/app
ports:
- '${APP_PORT:-8000}:80'
environment:
WWWUSER: '${WWWUSER}'
LARAVEL_SAIL: 1
volumes:
- '.:/var/www/html'
networks:
- sail
extra_hosts:
- "host.docker.internal:host-gateway"
如果这很重要,我确实有自定义 ssh 条目。我有一个 id_rsa_personal 密钥和一个 id_rsa_work rsa 密钥,而不仅仅是 ray 的“服务器”配置默认查找的 id_rsa 密钥,但即使将“私钥路径”更改为现有私钥,我也会得到
Error: Error invoking remote method 'connectSsh': Error: connect ECONNREFUSED 127.0.0.1:22
如果有人知道为什么我无法将 ray 连接到 docker 实例,我将不胜感激。
更新
在通过 ray 的源代码进行一些挖掘和死亡之后,我发现当 ray 尝试 cURL 到我的主机时,它得到:无法解析主机:host.docker.internal。我不知道为什么会这样,因为正如我所说,我确实在我的 docker-compose.yaml 文件中设置了 extra_hosts: - "host.docker.internal:host-gateway"。