
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
rancher/configmap-reload 是 docker.io/jimmidyson/configmap-reload 的自动化镜像镜像,由 Rancher 镜像项目(https://github.com/rancher/image-mirror%EF%BC%89%E7%BB%B4%E6%8A%A4%E3%80%82%E8%AF%A5%E9%95%9C%E5%83%8F%E4%B8%8E%E5%8E%9F%E9%95%9C%E5%83%8F%E5%8A%9F%E8%83%BD%E5%AE%8C%E5%85%A8%E4%B8%80%E8%87%B4%EF%BC%8C%E6%97%A8%E5%9C%A8%E7%AE%80%E5%8C%96%E5%9B%BD%E5%86%85%E7%8E%AF%E5%A2%83%E5%AF%B9 configmap-reload 工具的获取和使用。
用于在 Kubernetes 环境中监控 ConfigMap/Secret 资源的变更,当配置发生更新时,自动触发关联应用的配置重载流程(如发送信号、调用 WebHook 等),实现应用配置的动态更新,无需重启容器。
配置变更监控
实时监控挂载到容器内的 ConfigMap/Secret 文件变化(通过监听文件系统事件或定期轮询)。
灵活的重载触发机制
支持多种重载方式:
SIGHUP,常用于 Nginx、Prometheus 等服务);轻量级设计
基于极小的基础镜像构建,资源占用低,适合作为 Sidecar 容器与主应用协同工作。
Kubernetes 原生支持
无缝集成 Kubernetes 环境,可通过环境变量、命令行参数灵活配置监控路径和重载策略。
nginx -s reload。SIGHUP 信号重载配置。volumeMounts 实现)。bash# 示例:监控 /etc/config 目录,当文件变化时向 PID 1 进程发送 SIGHUP 信号 docker run -d \ -v /path/to/local/config:/etc/config \ # 挂载 ConfigMap 目录(本地模拟) rancher/configmap-reload \ --volume-dir=/etc/config \ # 指定监控的目录(容器内路径) --signal=SIGHUP \ # 发送 SIGHUP 信号 --pid-file=/var/run/app.pid # 目标进程 PID 文件路径(若需指定进程)
场景:Nginx 配置热加载
部署 Nginx 主容器 + configmap-reload Sidecar 容器,监控 ConfigMap 变更并触发 nginx -s reload。
yamlapiVersion: apps/v1 kind: Deployment metadata: name: nginx-with-configmap-reload spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: docker.xuanyuan.run/nginx:alpine volumeMounts: - name: nginx-config mountPath: /etc/nginx/conf.d # 挂载 ConfigMap 到 Nginx 配置目录 ports: - containerPort: 80 - name: configmap-reload # Sidecar 容器 image: docker.xuanyuan.run/rancher/configmap-reload args: - --volume-dir=/etc/config # 监控的目录(与主容器共享的 Volume 路径) - --webhook-url=http://localhost:8080/reload # 调用 Nginx 自定义 reload 接口(若有) # 或使用信号重载:--signal=SIGHUP --pid-file=/var/run/nginx.pid volumeMounts: - name: nginx-config mountPath: /etc/config # 挂载同一 ConfigMap Volume volumes: - name: nginx-config configMap: name: nginx-conf # 关联的 ConfigMap 名称
如需在所有节点监控特定 ConfigMap,可通过 DaemonSet 部署:
yamlapiVersion: apps/v1 kind: DaemonSet metadata: name: configmap-reload-daemon spec: selector: matchLabels: app: configmap-reload template: metadata: labels: app: configmap-reload spec: containers: - name: configmap-reload image: docker.xuanyuan.run/rancher/configmap-reload args: - --volume-dir=/etc/node-config # 节点级配置目录 - --signal=SIGHUP - --pid-file=/var/run/node-agent.pid volumeMounts: - name: node-config mountPath: /etc/node-config volumes: - name: node-config hostPath: path: /etc/node-config # 节点主机路径(需提前挂载 ConfigMap 到该路径)
| 参数名 | 说明 | 示例 |
|---|---|---|
--volume-dir | 必填,监控的 ConfigMap/Secret 挂载目录(容器内路径) | --volume-dir=/etc/config |
--webhook-url | 配置变更时调用的 WebHook URL(HTTP/HTTPS) | --webhook-url=http://localhost:8080/reload |
--webhook-method | WebHook 请求方法(默认 POST) | --webhook-method=PUT |
--signal | 发送给目标进程的信号(如 SIGHUP、SIGUSR1) | --signal=SIGHUP |
--pid-file | 目标进程 PID 文件路径(与 --signal 配合使用,默认取容器内 PID 1) | --pid-file=/var/run/app.pid |
--interval | 轮询检查间隔(秒,默认 10s;文件系统事件监控优先,轮询为备选) | --interval=30 |
--include-secrets | 是否同时监控 Secret 变更(默认仅监控 ConfigMap) | --include-secrets=true |
无特殊环境变量,所有配置通过命令行参数指定。
与原镜像一致性
本镜像为 jimmidyson/configmap-reload 的镜像,功能、参数与原镜像完全一致。详细使用说明可参考原镜像文档:https://github.com/jimmidyson/configmap-reload%E3%80%82
文件系统权限
确保容器对挂载的 --volume-dir 目录有读权限,否则可能无法检测到文件变更。
重载逻辑依赖
应用需支持通过信号或 WebHook 触发配置重载(如 Nginx 支持 SIGHUP,Prometheus 支持 /reload 端点)。
Rancher 镜像维护
镜像同步状态可通过 Rancher 镜像项目查看:https://github.com/rancher/image-mirror%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务