
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Couper旨在支持开发人员构建和运行API驱动的Web项目,通过前端网关组件提供安全和可观测性功能。该Docker镜像包含基础配置,可从/htdocs目录提供文件服务,并支持通过环境变量和命令行参数进行灵活配置。
/htdocs目录提供静态文件服务Couper运行需要配置文件,默认镜像包含基础配置,可从/htdocs目录提供文件服务。以下命令启动容器并将当前目录挂载为/htdocs:
sh$ docker run --rm -p 8080:8080 -v `pwd`:/htdocs coupergateway/couper
镜像的入口点为/couper二进制文件,默认命令为run。因此,docker run coupergateway/couper等价于运行/couper run -d /conf。
可通过目录参数将多个配置文件挂载到/conf目录,也可直接使用其他命令:
sh# 查看版本 $ docker run coupergateway/couper version # 启动并监听配置文件变化,使用端口8081 $ docker run coupergateway/couper run -watch -p 8081
基础环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
| COUPER_BIND_ADDRESS | "*" | 逗号分隔的绑定地址列表。 |
| COUPER_FILE | couper.hcl | 配置文件路径。 |
| COUPER_FILE_DIRECTORY | "" | 配置文件目录路径。 |
| COUPER_DEFAULT_PORT | 8080 | 设置默认端口,不覆盖配置文件中显式的[host:port]配置。 |
| COUPER_ENVIRONMENT | "" | Couper运行的环境名称。 |
| COUPER_WATCH | false | 设置为true以监听配置文件变化。 |
| COUPER_WATCH_RETRIES | 5 | 配置重载时无法绑定端口的最大重试次数。 |
| COUPER_WATCH_RETRY_DELAY | 500ms | 发生错误后下次尝试的延迟时间。 |
可观测性环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
| COUPER_HEALTH_PATH | /healthz | 所有服务器和端口的健康检查请求路径。 |
| COUPER_LOG_FORMAT | common | 日志格式,可设置为json(容器默认输出格式)。 |
| COUPER_LOG_LEVEL | info | 日志级别,可选值:info、panic、fatal、error、warn、debug、trace。 |
| COUPER_LOG_PARENT_FIELD | "" | json日志格式选项,将所有日志字段作为子属性添加。 |
| COUPER_LOG_PRETTY | false | json日志格式的全局选项,启用漂亮打印并带有基本键着色。 |
| COUPER_LOG_TYPE_VALUE | couper_daemon | 运行时日志字段type的值。 |
| COUPER_ACCESS_LOG_REQUEST_HEADERS | User-Agent, Accept, Referer | 逗号分隔的请求头名称列表,其值将被记录。 |
| COUPER_ACCESS_LOG_RESPONSE_HEADERS | Cache-Control, Content-Encoding, Content-Type, Location | 逗号分隔的响应头名称列表,其值将被记录。 |
| COUPER_ACCESS_LOG_TYPE_VALUE | couper_access | 日志字段type的值。 |
| COUPER_BACKEND_LOG_REQUEST_HEADERS | User-Agent, Accept, Referer | 逗号分隔的请求头名称列表,其值将被记录。 |
| COUPER_BACKEND_LOG_RESPONSE_HEADERS | Cache-Control, Content-Encoding, Content-Type, Location | 逗号分隔的响应头名称列表,其值将被记录。 |
| COUPER_BACKEND_LOG_TYPE_VALUE | couper_backend | 日志字段type的值。 |
| COUPER_REQUEST_ID_ACCEPT_FROM_HEADER | "" | 客户端请求HTTP头字段名称,用于传输request.id,Couper将其用于日志记录并传输到后端(若配置)。 |
| COUPER_REQUEST_ID_BACKEND_HEADER | Couper-Request-ID | Couper用于将request.id传输到后端的HTTP头字段名称。 |
| COUPER_REQUEST_ID_CLIENT_HEADER | Couper-Request-ID | Couper用于将request.id传输到客户端的HTTP头字段名称。 |
| COUPER_REQUEST_ID_FORMAT | common | 若设置为uuid4,则使用rfc4122 uuid作为request.id及相关日志字段。 |
| COUPER_SERVER_TIMING_HEADER | false | 若启用,Couper会添加额外的https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Server-Timing HTTP响应头字段,详细说明每个后端请求的连接和传输相关指标。 |
| COUPER_BETA_METRICS | false | 启用Prometheus指标导出器的选项。 |
| COUPER_BETA_METRICS_PORT | 9090 | Prometheus导出器监听端口。 |
| COUPER_BETA_SERVICE_NAME | couper | 应用于service_name指标标签的服务名称。 |
TLS环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
| COUPER_CA_FILE | "" | 为所有出站连接添加PEM编码的CA证书到现有系统证书池的选项。 |
| COUPER_HTTPS_DEV_PROXY | "" | TLS端口映射列表,用于定义TLS监听端口和目标端口。将基于给定主机名动态生成自签名证书。 |
| COUPER_SECURE_COOKIES | "" | 若设置为"strip",则从所有Set-Cookie HTTP头字段中移除Secure标志。 |
性能分析环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
| COUPER_PPROF | false | 启用性能分析。 |
| COUPER_PPROF_PORT | 6060 | 性能分析接口端口。 |
时序环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
| COUPER_TIMING_IDLE_TIMEOUT | 60s | 启用长连接时,等待客户端连接上下一个请求的最长时间。 |
| COUPER_TIMING_READ_HEADER_TIMEOUT | 10s | 允许读取客户端请求头的时间。 |
| COUPER_TIMING_SHUTDOWN_DELAY | 0 | 服务器在最终调用关闭前标记为不健康的时间。 |
| COUPER_TIMING_SHUTDOWN_TIMEOUT | 0 | 允许关闭服务器及所有运行中连接的最长时间。 |
架构环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
| COUPER_ACCEPT_FORWARDED_URL | "" | 应接受哪些X-Forwarded-*请求头以更改请求变量 url、origin、protocol、host、port。逗号分隔的有效值列表:proto、host、port。 |
| COUPER_NO_PROXY_FROM_ENV | false | 禁用通过环境变量配置的代理连接跳转(详见https://godoc.org/golang.org/x/net/http/httpproxy%EF%BC%89%E3%80%82 |
| COUPER_XFH | false | 全局配置,使用X-Forwarded-Host头代替请求主机。 |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务