
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
openlmis-nginx镜像基于官方Nginx镜像构建,集成https://www.consul.io/%EF%BC%88%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%EF%BC%89%E5%92%8Chttps://github.com/hashicorp/consul-template%EF%BC%8C%E5%9C%A8OpenLMIS%E7%8E%AF%E5%A2%83%E4%B8%AD%E5%85%85%E5%BD%93API%E7%BD%91%E5%85%B3%EF%BC%8C%E6%8F%90%E4%BE%9B%E5%8A%A8%E6%80%81%E8%B7%AF%E7%94%B1%E5%8A%9F%E8%83%BD%E3%80%82%E9%80%9A%E8%BF%87%E7%9B%91%E5%90%ACConsul%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E7%9A%84%E5%8F%98%E5%8C%96%EF%BC%8CConsul Template自动更新Nginx配置,使Nginx能将客户端HTTP请求动态路由到健康的服务实例。
SERVICE_TAG的服务识别为上游服务,结合Consul健康检查确保请求路由到可用服务适用于OpenLMIS v3微服务架构环境,作为API网关管理客户端与各微服务间的请求路由。特别适合服务动态扩展、实例频繁变更或需高可用性的部署场景,确保请求始终路由到健康可用的服务。
!服务发现概述
为正确配置路由,容器需通过Consul KV存储提供路径-服务映射。未包含在映射层级中的端点不会被API网关暴露。映射通过Consul KV存储中RESOURCES_PATH子目录下的键值对定义:
{param}替换,{param}匹配未明确定义的单级路径(不匹配子目录)<all>可保留路径下所有子目录和参数(匹配未被其他规则占用的路径)路径-服务映射:
users - referencedata users/{param} - referencedata users/manage - auth users/staff/validate - auth users/{param}/resetPassword - auth
对应路由结果:
/users → referencedata服务/users/manage → auth服务/users/123 → referencedata服务({param}匹配)/users/123/resetPassword → auth服务/users/staff → referencedata服务(未明确定义,由users/{param}匹配)/users/staff/validate → auth服务(明确定义)镜像包含两个核心配置文件:
nginx.conf:标准Nginx配置文件,可通过挂载自定义文件覆盖:
bashdocker run -v /本地路径/nginx.conf:/etc/nginx/nginx.conf docker.xuanyuan.run/openlmis/nginx
openlmis.conf:Consul Template生成的动态配置文件,被nginx.conf引用(覆盖nginx.conf时需确保包含此文件)/var/log/nginx,可通过NGINX_LOG_DIR环境变量自定义路径/var/log/consul-template,可通过CONSUL_TEMPLATE_LOG_DIR环境变量自定义路径Nginx访问日志格式
日志包含标准访问信息及扩展性能指标(顺序如下):
| 变量名 | 描述 | 默认值 |
|---|---|---|
VIRTUAL_HOST | 服务器主机名 | 无(必须提供) |
CONSUL_HOST | Consul服务器地址 | consul |
CONSUL_PORT | Consul API端口 | 8500 |
RESOURCES_PATH | Consul KV中路径映射所在目录 | resources |
SERVICE_TAG | 标记可暴露服务的标签 | openlmis-service |
NGINX_LOG_DIR | Nginx日志目录 | /var/log/nginx |
CONSUL_TEMPLATE_LOG_DIR | Consul Template日志目录 | /var/log/consul-template |
CLIENT_MAX_BODY_SIZE | 客户端请求体最大大小 | 1m |
PROXY_CONNECT_TIMEOUT | 上游连接超时时间 | 60s |
PROXY_SEND_TIMEOUT | 上游请求发送超时时间 | 60s |
PROXY_READ_TIMEOUT | 上游响应读取超时时间 | 60s |
SEND_TIMEOUT | 客户端响应发送超时时间 | 60s |
NGINX_TIMEOUT | 统一设置上述四个超时时间的快捷变量 | - |
提供两个日志卷用于外部访问:
/var/log/nginx:Nginx日志存储路径/var/log/consul-template:Consul Template日志存储路径bash# 创建命名日志卷 docker volume create --name=nginx-log # 运行容器并挂载日志卷 docker run -d -v nginx-log:/var/log/nginx -e VIRTUAL_HOST=openlmis.example.com --name nginx docker.xuanyuan.run/openlmis/nginx # 验证日志卷(通过临时容器查看日志目录) docker run --rm -v nginx-log:/nginx-log docker.xuanyuan.run/openlmis/dev ls /nginx-log
上述示例中,命名卷nginx-log存储Nginx日志,可通过临时容器查看或集成到外部日志服务(如Scalyr)。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 openlmis/nginx 相关的常用 Docker 镜像,适用于 反向代理、负载均衡、静态资源服务 等不同场景: