
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该镜像基于NGiNX构建,是一个轻量级TCP反向代理服务器,专注于在TCP传输层实现网络流量的转发与管理。通过接收客户端TCP连接请求并转发至后端服务,可实现隐藏后端服务、均衡流量负载、提升系统可用性与安全性的核心目标。主要用于保护后端TCP服务不直接暴露、分发高并发流量、简化多服务网络架构,适用于各类基于TCP协议的网络应用。
1. 拉取镜像
bashdocker pull docker.xuanyuan.run/nginx-tcp-proxy # 实际镜像名称需替换为官方/私有仓库地址
2. 创建配置文件
在宿主机创建NGiNX配置文件(如nginx.conf),示例配置如下:
nginxworker_processes auto; events { worker_connections 1024; # 调整最大连接数 } stream { # 定义后端服务集群 upstream backend_servers { server backend-node1:3306 weight=5; # 后端节点1,权重5 server backend-node2:3306; # 后端节点2,默认权重1 server backend-node3:3306 backup; # 备份节点,主节点不可用时启用 # 负载均衡策略(默认轮询,可选配置) # least_conn; # 优先转发至连接数最少的节点 # ip_hash; # 基于客户端IP哈希,确保会话一致性 } # 配置代理服务 server { listen 3306; # 代理监听端口(对外提供服务的端口) proxy_pass backend_servers; # 转发至定义的后端集群 # 连接超时配置 proxy_connect_timeout 5s; # 与后端建立连接超时时间 proxy_timeout 30s; # 客户端-后端连接持续超时时间 # 故障转移配置:连接失败时尝试下一个节点 proxy_next_upstream error timeout; } }
3. 运行容器
bashdocker run -d \ --name nginx-tcp-proxy \ -p 3306:3306 \ # 映射代理监听端口到宿主机 -v /path/to/nginx.conf:/etc/nginx/nginx.conf:ro \ # 挂载配置文件 # 如需SSL证书,添加证书挂载:-v /path/to/certs:/etc/nginx/certs:ro \ nginx-tcp-proxy
4. Docker Compose配置示例
yamlversion: '3' services: tcp-proxy: image: docker.xuanyuan.run/nginx-tcp-proxy ports: - "3306:3306" # 代理端口映射 volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro # - ./certs:/etc/nginx/certs:ro # 如需SSL证书 depends_on: - backend-node1 - backend-node2 restart: always backend-node1: image: docker.xuanyuan.run/mysql:5.7 environment: MYSQL_ROOT_PASSWORD: password # 后端服务1配置 backend-node2: image: docker.xuanyuan.run/mysql:5.7 environment: MYSQL_ROOT_PASSWORD: password # 后端服务2配置
stream模块核心配置
upstream块:定义后端服务集群
server <address>:<port> [参数]:后端服务地址,支持参数:
weight=num:权重值(默认为1,值越高分配流量越多)backup:标记为备份节点,仅主节点全部不可用时启用down:临时下线节点,不参与流量分配round_robin(默认):按顺序轮询转发请求least_conn:优先转发至当前连接数最少的节点ip_hash:基于客户端IP哈希,确保同一客户端请求始终转发至同一节点hash $remote_addr consistent:基于客户端IP的一致性哈希,节点变化时减少请求漂移server块:配置代理监听与转发规则
listen <port>:指定代理监听的TCP端口(如3306、22)proxy_pass <upstream名称>:将流量转发至指定后端集群(如proxy_pass backend_servers)proxy_connect_timeout <time>:与后端服务建立连接的超时时间(默认60s,建议设为5-10s)proxy_timeout <time>:客户端与后端服务连接的持续超时时间(默认60s,根据业务调整)proxy_next_upstream <conditions>:定义切换至下一个后端节点的条件(如error、timeout、invalid_header)SSL/TLS终止配置(可选)
如需在代理层处理SSL/TLS加密,在server块中添加:
nginxssl on; ssl_certificate /etc/nginx/certs/server.crt; # 证书路径 ssl_certificate_key /etc/nginx/certs/server.key; # 私钥路径 ssl_protocols TLSv1.2 TLSv1.3; # 支持的TLS协议版本 ssl_ciphers HIGH:!aNULL:!MD5; # 加密套件配置
worker_connections、超时时间等参数,避免连接瓶颈nginx -s reload热加载配置您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务