hsldevcom/jore4-hasurajore4-hasura 是基于 Hasura GraphQL 引擎的定制化 Docker 镜像,专为 Jore4 项目设计。该镜像提供了一个强大的 GraphQL API 层,用于查询和操作 Jore4 项目的后端数据,简化了前端应用与数据库之间的交互。
| 环境变量名 | 描述 | 必需 | 默认值 |
|---|---|---|---|
DATABASE_URL | 数据库连接 URL | 是 | - |
HASURA_GRAPHQL_ADMIN_SECRET | 管理员访问密钥 | 是 | - |
HASURA_GRAPHQL_JWT_SECRET | JWT 认证密钥配置 | 否 | - |
HASURA_GRAPHQL_UNAUTHORIZED_ROLE | 未授权用户角色 | 否 | anonymous |
LOG_LEVEL | 日志级别 (DEBUG, INFO, WARN, ERROR) | 否 | INFO |
PORT | 服务监听端口 | 否 | 8080 |
METADATA_DIR | 元数据目录路径 | 否 | /hasura-metadata |
bashdocker run -d \ --name jore4-hasura \ -p 8080:8080 \ -e DATABASE_URL=postgres://user:password@postgres:5432/jore4 \ -e HASURA_GRAPHQL_ADMIN_SECRET=your-admin-secret \ hsldevcom/jore4-hasura:latest
创建 docker-compose.yml 文件:
yamlversion: '3.8' services: hasura: image: hsldevcom/jore4-hasura:latest container_name: jore4-hasura ports: - "8080:8080" environment: - DATABASE_URL=postgres://user:password@postgres:5432/jore4 - HASURA_GRAPHQL_ADMIN_SECRET=${HASURA_ADMIN_SECRET} - HASURA_GRAPHQL_UNAUTHORIZED_ROLE=anonymous - LOG_LEVEL=INFO depends_on: - postgres restart: unless-stopped volumes: - ./metadata:/hasura-metadata postgres: image: postgres:13 container_name: jore4-postgres environment: - POSTGRES_USER=user - POSTGRES_PASSWORD=password - POSTGRES_DB=jore4 volumes: - postgres_data:/var/lib/postgresql/data volumes: postgres_data:
启动服务:
bashdocker-compose up -d
bashdocker run -d \ --name jore4-hasura \ -p 8080:8080 \ -e DATABASE_URL=postgres://user:password@postgres:5432/jore4 \ -e HASURA_GRAPHQL_ADMIN_SECRET=your-admin-secret \ -v ./custom-metadata:/hasura-metadata \ hsldevcom/jore4-hasura:latest
容器启动时会自动应用 /hasura-metadata 目录中的元数据配置。如需手动应用迁移或元数据:
bash# 应用元数据 docker exec -it jore4-hasura hasura metadata apply # 查看状态 docker exec -it jore4-hasura hasura status
启动容器后,可以通过以下 URL 访问 Hasura 管理控制台:
http://localhost:8080/consoleHASURA_GRAPHQL_ADMIN_SECRET 中配置的密钥进行认证容器内置健康检查机制,可通过以下命令手动检查:
bashdocker exec -it jore4-hasura curl -f http://localhost:8080/healthz || echo "Not healthy"
为确保元数据和配置的持久性,建议挂载以下目录:
bash-v ./metadata:/hasura-metadata -v ./migrations:/hasura-migrations
bashdocker run -d \ --name jore4-hasura \ -p 8080:8080 \ -e DATABASE_URL=postgres://user:password@postgres:5432/jore4 \ -e HASURA_GRAPHQL_ADMIN_SECRET=your-admin-secret \ -e HASURA_GRAPHQL_JWT_SECRET='{"type":"HS256", "key":"your-jwt-secret-key"}' \ hsldevcom/jore4-hasura:latest
bashdocker run -d \ --name jore4-hasura \ -p 8080:8080 \ -e DATABASE_URL=postgres://user:password@postgres:5432/jore4 \ -e HASURA_GRAPHQL_ADMIN_SECRET=your-admin-secret \ -e LOG_LEVEL=DEBUG \ hsldevcom/jore4-hasura:latest
数据库连接失败:
DATABASE_URL 环境变量配置元数据应用失败:
控制台访问问题:
HASURA_GRAPHQL_ADMIN_SECRET 配置正确bashdocker logs jore4-hasura # 实时查看日志 docker logs -f jore4-hasura
建议定期更新镜像以获取最新功能和安全修复:
bashdocker pull hsldevcom/jore4-hasura:latest
对于生产环境,建议使用特定版本标签而非 latest,以确保环境稳定性。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务