
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
caddy-docker-proxy 是 Caddy 2 的一款扩展模块,能让你通过 Docker 容器的标签(labels)自动配置反向代理,无需手动编写和维护 Caddyfile。它会监听 Docker 事件(如容器启动、停止),实时生成或更新 Caddy 配置,帮你快速搭建基于 Caddy 的反向代理服务。
/api 转发到特定服务),满足复杂的代理需求。headers、rate_limit、rewrite 等),直接通过标签配置。首先需要安装 Caddy 并启用 caddy-docker-proxy 模块。推荐用官方提供的集成镜像(已预装模块),或手动编译:
方式 1:使用官方集成镜像(推荐)
直接拉取包含模块的 Caddy 镜像:
bashdocker pull lucaslorentz/caddy-docker-proxy:ci-alpine
方式 2:手动编译(适合自定义 Caddy 模块)
通过 xcaddy 编译带模块的 Caddy:
bashxcaddy build --with github.com/lucaslorentz/caddy-docker-proxy/v2
启动 Caddy 容器
启动时需挂载 Docker Socket(让 Caddy 监听 Docker 事件),并映射 80/443 端口:
bashdocker run -d \ --name caddy \ -p 80:80 \ -p 443:443 \ -v /var/run/docker.sock:/var/run/docker.sock \ # 挂载 Docker Socket -v caddy_data:/data \ # 存储证书、配置等数据 lucaslorentz/caddy-docker-proxy:ci-alpine
给需要代理的应用容器添加 caddy.* 格式的标签,定义代理规则。
示例:代理一个简单的 Web 服务
假设你有个运行在 8080 端口的 Node.js 服务(容器名 my-app),想通过 app.example.com 访问:
启动应用容器时添加标签:
bashdocker run -d \ --name my-app \ -l caddy.host=app.example.com \ # 绑定域名 -l caddy.reverse_proxy=[] \ # 反向代理到容器内服务 my-node-app:latest # 你的应用镜像
标签说明
caddy.host: 绑定的域名(支持多个,用逗号分隔,如 caddy.host=app1.example.com,app2.example.com)。caddy.reverse_proxy: 定义代理目标,格式同 Caddyfile(如 caddy.reverse_proxy=/api [] 表示路径 /api转发到api-service:3000`)。caddy.指令名=参数,如 caddy.header.Strict-Transport-Security=max-age=31536000; includeSubDomains(添加 HSTS 头)。容器启动后,caddy-docker-proxy 会自动生成配置。访问 `[] Caddy 所在服务器),即可看到应用服务的响应。
/var/run/docker.sock 会让 Caddy 有权限操作 Docker 资源,生产环境建议通过用户组或第三方工具(如 docker-socket-proxy)限制权限。caddy.reverse_proxy.0=/api、`caddy.reverse_proxy.1=[]docker logs caddy。通过以上步骤,你可以快速用 Docker 标签管理 Caddy 反向代理,尤其适合多容器、动态部署的场景。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务