
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
StackGres REST API 容器是 StackGres 管理平台的核心组件之一,提供标准化的 RESTful API 接口,用于与 StackGres 控制器交互,实现对 PostgreSQL 集群的程序化管理。该容器封装了 StackGres API 服务,支持通过 HTTP/HTTPS 协议执行集群创建、配置更新、状态查询、备份管理等操作,是自动化运维、第三方系统集成的关键入口。
/stackgres/clusters、/stackgres/backups)。从 StackGres 官方镜像仓库拉取镜像(需替换 <version> 为实际版本,如 1.6.0):
bashdocker pull docker.xuanyuan.run/stackgres/stackgres-rest-api:<version>
4.3.1 Docker Run 部署
通过 docker run 直接启动容器,需指定连接控制器的地址、认证信息等核心参数:
bashdocker run -d \ --name stackgres-rest-api \ -p 8080:8080 \ -e STACKGRES_CONTROLLER_URL="http://stackgres-controller:8080" \ -e AUTH_MODE="token" \ -e API_TOKEN="your-stackgres-api-token" \ -e PORT=8080 \ -e LOG_LEVEL="info" \ docker.xuanyuan.run/stackgres/stackgres-rest-api:<version>
4.3.2 Docker Compose 部署
创建 docker-compose.yml 文件,定义服务及依赖(若需与其他组件联动):
yamlversion: '3.8' services: stackgres-rest-api: image: docker.xuanyuan.run/stackgres/stackgres-rest-api:<version> container_name: stackgres-rest-api ports: - "8080:8080" environment: - STACKGRES_CONTROLLER_URL=http://stackgres-controller:8080 # StackGres 控制器地址 - AUTH_MODE=token # 认证模式:token/basic - API_TOKEN=your-stackgres-api-token # 认证令牌(token 模式必填) - PORT=8080 # API 服务端口 - LOG_LEVEL=info # 日志级别:debug/info/warn/error - TLS_ENABLED=false # 是否启用 HTTPS(true/false) restart: unless-stopped
启动服务:
bashdocker-compose up -d
4.4.1 环境变量配置
| 环境变量名 | 用途描述 | 默认值 | 是否必填 |
|---|---|---|---|
STACKGRES_CONTROLLER_URL | StackGres 控制器的 HTTP/HTTPS 地址(格式:http://<host>:<port>) | 无 | 是 |
AUTH_MODE | 认证模式,支持 token(API 令牌)或 basic(用户名密码) | token | 否 |
API_TOKEN | token 模式下的认证令牌(从 StackGres 控制器获取,需具备管理员权限) | 无 | 是(token 模式) |
BASIC_AUTH_USERNAME | basic 模式下的用户名 | 无 | 是(basic 模式) |
BASIC_AUTH_PASSWORD | basic 模式下的密码 | 无 | 是(basic 模式) |
PORT | API 服务监听端口 | 8080 | 否 |
TLS_ENABLED | 是否启用 HTTPS(true 时需挂载 TLS 证书文件) | false | 否 |
TLS_CERT_PATH | TLS 证书文件路径(TLS_ENABLED=true 时必填,需通过容器挂载) | /tls/tls.crt | 否(启用 TLS 时必填) |
TLS_KEY_PATH | TLS 私钥文件路径(TLS_ENABLED=true 时必填,需通过容器挂载) | /tls/tls.key | 否(启用 TLS 时必填) |
LOG_LEVEL | 日志级别,支持 debug/info/warn/error | info | 否 |
REQUEST_TIMEOUT | API 请求超时时间(秒) | 30 | 否 |
4.4.2 配置文件挂载(可选)
若需使用自定义配置文件(如调整 API 路由规则、跨域设置),可通过挂载配置文件到容器内 /etc/stackgres-api/config.yaml 路径。配置文件示例:
yamlcors: allowed-origins: ["https://your-console.example.com"] # 允许跨域请求的源 allowed-methods: ["GET", "POST", "PUT", "DELETE"] # 允许的 HTTP 方法 rate-limit: enabled: true # 是否启用请求限流 requests-per-minute: 600 # 每分钟最大请求数
挂载命令示例(docker run):
bashdocker run -d \ ...(其他参数)... -v /path/to/custom/config.yaml:/etc/stackgres-api/config.yaml \ stackgres/stackgres-rest-api:<version>
服务启动后,可通过以下命令验证 API 是否正常运行:
bashcurl -H "Authorization: Bearer your-api-token" http://localhost:8080/stackgres/api/v1/clusters
若返回集群列表 JSON 数据,表明服务部署成功。
token 模式),并通过 TLS 加密传输(TLS_ENABLED=true)。resources 限制),避免 API 服务因资源不足影响响应性能。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务