本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
2022年12月7日上午10:00(太平洋标准时间),Hasura从本仓库中移除了受安全漏洞影响的部分镜像,以防止其在生产环境中运行。建议受影响用户立即更新至修复版本。
更多详情请参见安全公告:[***]
| 受影响版本 | 修复版本 |
|---|---|
| v2.15.1, v2.15.0 | v2.15.2 |
| v2.14.0 | v2.14.1 |
| v2.13.1, v2.13.0 | v2.13.2 |
| v2.12.0 | v2.12.1 |
| v2.11.2, v2.11.1, v2.11.0 | v2.11.3 |
| v2.10.1, v2.10.0 | v2.10.2 |
Hasura GraphQL Engine 是一款极速的GraphQL服务器,可在Postgres数据库上提供即时、实时的GraphQL API,支持通过数据库事件触发Webhook,并通过远程模式实现业务逻辑集成。其核心优势在于细粒度访问控制,帮助用户快速构建基于Postgres的GraphQL应用,或为现有Postgres应用增量迁移至GraphQL架构。
!Hasura logo
<version>:指定版本(如v2.15.2),latest对应最新稳定版<version>.cli-migrations-v2、latest.cli-migrations-v2、<version>.cli-migrations-v3、latest.cli-migrations-v3(包含CLI迁移工具)hasura)amd64、arm64Hasura依赖Postgres数据库运行,Postgres部署说明参见官方镜像。
docker run -d -p 8080:8080 \ -e HASURA_GRAPHQL_DATABASE_URL=postgres://用户名:密码@主机名:端口/数据库名 \ -e HASURA_GRAPHQL_ENABLE_CONSOLE=true \ hasura/graphql-engine:latest
Hasura控制台将在 http://localhost:8080 可用。
HASURA_GRAPHQL_DATABASE_URL 示例:
postgres://admin:password@localhost:5432/my-db(带密码)postgres://admin:@localhost:5432/my-db(无密码)若Postgres实例运行在本地主机,需调整Docker网络配置以允许容器访问主机服务:
添加 --net=host 标志共享主机网络命名空间:
docker run -d --net=host \ -e HASURA_GRAPHQL_DATABASE_URL=postgres://用户名:密码@localhost:端口/数据库名 \ -e HASURA_GRAPHQL_ENABLE_CONSOLE=true \ hasura/graphql-engine:latest
使用 host.docker.internal 作为主机名访问宿主机服务:
docker run -d -p 8080:8080 \ -e HASURA_GRAPHQL_DATABASE_URL=postgres://用户名:密码@host.docker.internal:端口/数据库名 \ -e HASURA_GRAPHQL_ENABLE_CONSOLE=true \ hasura/graphql-engine:latest
以下为Hasura与Postgres的docker-compose.yaml示例:
version: '3.6' services: postgres: image: postgres restart: always volumes: - db_data:/var/lib/postgresql/data # 持久化Postgres数据 graphql-engine: image: hasura/graphql-engine:v1.0.0-beta.6 # 指定Hasura版本 ports: - "8080:8080" # 映射控制台端口 depends_on: - "postgres" # 依赖Postgres服务 restart: always environment: HASURA_GRAPHQL_DATABASE_URL: postgres://postgres:@postgres:5432/postgres # 连接Postgres(服务名作为主机名) HASURA_GRAPHQL_ENABLE_CONSOLE: "true" # 启用控制台(设为"false"禁用) ## 取消注释以设置管理员密钥 # HASURA_GRAPHQL_ADMIN_SECRET: myadminsecretkey volumes: db_data: # 定义数据卷
执行 docker-compose up,待初始化完成后访问 http://localhost:8080 打开Hasura控制台。
| 环境变量名 | 说明 | 示例值 |
|---|---|---|
HASURA_GRAPHQL_DATABASE_URL | Postgres数据库连接URL | postgres://user:pass@postgres:5432/db |
HASURA_GRAPHQL_ENABLE_CONSOLE | 是否启用Web控制台 | true / false |
HASURA_GRAPHQL_ADMIN_SECRET | 管理员密钥(设置后需通过X-Hasura-Admin-Secret头验证) | mysecretkey |
HASURA_GRAPHQL_JWT_SECRET | JWT配置(用于身份验证,JSON格式) | {"type":"HS256", "key":"secret"} |
#、%、$、@等特殊字符,需URL编码(如@编码为%40)。docker logs <容器ID>)。hasura/graphql-engine 镜像包含开源和专有组件:
如需仅含开源组件的镜像,使用标签以 -ce 结尾的社区版(如 hasura/graphql-engine:<VERSION>-ce)。
与所有Docker镜像一样,本镜像可能包含基础系统(如Bash等)及依赖组件,其许可可能不同。
注:文档中提及的外部链接(如event-triggers.md)请参考官方文档获取完整内容。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429