docker - 如何使用 forge 用户将 ray 连接到 laravelsai docker 容器?
问题描述
我正在尝试将我的 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"。
解决方案
推荐阅读
- python - 来自服务器的 Python 打开文件将带有两个反斜杠的字符串转换为带有三个反斜杠的字符串
- vue.js - 为什么 vue-jest 没有在我的测试文件中正确安装 Bootstrap-vue?
- javascript - 我无法制作一个 React hooks 切换按钮来在摄氏度和华氏度之间切换?
- c++ - 用空格字符替换子字符串
- android - Android中的动态链接
- javascript - 当我向 ajax 图像预览添加其他图像时,之前的图像不会出现在输入类型 FILES 数组中
- jquery-ui - symfony 形式的 boostrap 4 datetimepicker
- html - 在 Bootstrap 中删除填充/边距
- python - Matplotlib - 图相互堆叠
- swift - Swift4滚动UITableview后,动画UITableview框架是错误的