Hasura Console error: [...] No connection could be made because the target machine actively refused it
Hasura Console error: [...] No connection could be made because the target machine actively refused it
我安装了 Docker 工具箱版本,以便能够在本地 运行 Hasura。 Docker 功能齐全(我认为)并且是最新的,可以成功拉取图像并启动容器。我认为 Hasura CLI 也已成功安装,因为可以成功执行 hasura version
或 --help
等命令;但是,当我尝试在终端中使用 运行 hasura console
命令时,会返回此错误:
time="2020-09-15T09:28:16-05:00" level=fatal msg="version check: failed to get version from server: failed making version api call: Get http://localhost:8080/v1/version: dial tcp [::1]:8080: connectex: No connection could be made because the target machine actively refused it."
我完全禁用了我的防病毒软件和我能找到的所有防火墙,并像文档中建议的那样为 hasura 创建了一个 PATH
环境变量,并再次 运行 命令,但没有解决问题。
有谁知道这可能是什么原因造成的?如果问题含糊不清,我深表歉意,我对 Docker 和 Hasura 都很陌生。如果需要任何进一步的信息,请告诉我!谢谢!!
我认为原因可能是 graphql-engine 不是 运行ning。试试这个:
- 运行
hasura init
- 在根目录中创建
docker-compose.yaml
文件,内容如下:
version: '3.6'
services:
postgres:
image: postgres:13.0
restart: always
volumes:
- db_data:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: postgres
graphql-engine:
image: hasura/graphql-engine:latest
ports:
- "8080:8080"
depends_on:
- "postgres"
restart: always
environment:
HASURA_GRAPHQL_DATABASE_URL: postgres://postgres:postgres@postgres:5432/postgres
HASURA_GRAPHQL_ENABLE_CONSOLE: "false"
HASURA_GRAPHQL_DEV_MODE: "true"
HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log
HASURA_GRAPHQL_ADMIN_SECRET: myadminsecretkey
volumes:
db_data:
另请参阅:https://hasura.io/docs/1.0/graphql/core/getting-started/docker-simple.html#docker-simple
- 使用
docker-compose up
启动 docker 服务
- 在另一个终端 运行
hasura console --admin-secret myadminsecretkey
。您应该在终端输出中看到控制台的网络地址。
我是一个完全的hasura菜鸟,但我自己遇到了这个问题。
这是真正的解决方案:
运行 以管理员身份在 powershell 中执行命令。
确保 config.yaml 指向您的 graphql-engine 实例正在 运行 上的 localhost:PORT。
I.E
遵循 docker 设置过程,运行 graphql-engine(在 docker 上)
下一步:hasura init -> 编辑 config.yaml 将其指向引擎所在的位置 运行ning -> hasura console
我安装了 Docker 工具箱版本,以便能够在本地 运行 Hasura。 Docker 功能齐全(我认为)并且是最新的,可以成功拉取图像并启动容器。我认为 Hasura CLI 也已成功安装,因为可以成功执行 hasura version
或 --help
等命令;但是,当我尝试在终端中使用 运行 hasura console
命令时,会返回此错误:
time="2020-09-15T09:28:16-05:00" level=fatal msg="version check: failed to get version from server: failed making version api call: Get http://localhost:8080/v1/version: dial tcp [::1]:8080: connectex: No connection could be made because the target machine actively refused it."
我完全禁用了我的防病毒软件和我能找到的所有防火墙,并像文档中建议的那样为 hasura 创建了一个 PATH
环境变量,并再次 运行 命令,但没有解决问题。
有谁知道这可能是什么原因造成的?如果问题含糊不清,我深表歉意,我对 Docker 和 Hasura 都很陌生。如果需要任何进一步的信息,请告诉我!谢谢!!
我认为原因可能是 graphql-engine 不是 运行ning。试试这个:
- 运行
hasura init
- 在根目录中创建
docker-compose.yaml
文件,内容如下:
version: '3.6'
services:
postgres:
image: postgres:13.0
restart: always
volumes:
- db_data:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: postgres
graphql-engine:
image: hasura/graphql-engine:latest
ports:
- "8080:8080"
depends_on:
- "postgres"
restart: always
environment:
HASURA_GRAPHQL_DATABASE_URL: postgres://postgres:postgres@postgres:5432/postgres
HASURA_GRAPHQL_ENABLE_CONSOLE: "false"
HASURA_GRAPHQL_DEV_MODE: "true"
HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log
HASURA_GRAPHQL_ADMIN_SECRET: myadminsecretkey
volumes:
db_data:
另请参阅:https://hasura.io/docs/1.0/graphql/core/getting-started/docker-simple.html#docker-simple
- 使用
docker-compose up
启动 docker 服务
- 在另一个终端 运行
hasura console --admin-secret myadminsecretkey
。您应该在终端输出中看到控制台的网络地址。
我是一个完全的hasura菜鸟,但我自己遇到了这个问题。
这是真正的解决方案: 运行 以管理员身份在 powershell 中执行命令。 确保 config.yaml 指向您的 graphql-engine 实例正在 运行 上的 localhost:PORT。
I.E 遵循 docker 设置过程,运行 graphql-engine(在 docker 上) 下一步:hasura init -> 编辑 config.yaml 将其指向引擎所在的位置 运行ning -> hasura console