
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该镜像将一个2008年编写的脚本Docker化,用于每日备份Percona Galera集群或MySQL/MariaDB集群中的数据库,基于MariaDB 10.3.x客户端。通过Kubernetes或docker-compose服务定义,可在默认时间($TZ时区的3:30)从名为dbhost的服务器将备份存储到卷“backup”的“mysql”子目录中。
运行前,需为MySQL用户授予权限:
mysql> GRANT SELECT,RELOAD,SUPER,REPLICATION CLIENT ON *.* TO '$USER'@'10.%' IDENTIFIED BY '$PSWD';
确保名为“backup”的卷存在,且mysql-backup密钥包含设置的$PSWD:
# docker volume create backup # docker secret create mysql-backup - <<EOT user=bkp password=$PSWD EOT
(可选)在Docker主机添加此角色用户:
useradd -u 210 -c "Mysql backups" -s /bin/bash mysqldump
(不推荐:若要使用其他用户,可覆盖入口点调用_adduser_,并定义USERNAME环境变量。)
备份保留时间由变量$KEEP_DAYS控制(默认31天):卷的“mysql”子目录中会为每个服务器创建子目录(如dbhost),并按日期存储备份。超过保留天数的备份将自动删除。
通过以下命令在Kubernetes中部署(需先克隆仓库):
git clone https://github.com/instantlinux/docker-tools.git cd docker-tools/k8s make mysqldump
| 变量 | 默认值 | 描述 |
|---|---|---|
| DB_CREDS_SECRETNAME | mysql-backup-creds | 密钥名称 |
| HOUR | 3 | cron语法的备份小时 |
| KEEP_DAYS | 31 | 保留快照的天数 |
| LOCK_FOR_BACKUP | 使用Percona时设为true,MariaDB留空 | |
| MINUTE | 30 | cron语法的小时分钟数 |
| SERVERS | dbhost | 要备份的服务器(空格分隔列表) |
| SKEW_SECONDS | 15 | 备份之间的等待时间(秒) |
| USERNAME | mysqldump | 运行用户 |
| TZ | UTC | 时区 |
| 密钥 | 描述 |
|---|---|
| mysql-backup-creds | MySQL用户的用户名/密码 |
Kubernetes中定义凭据的示例:
yamlapiVersion: v1 kind: Secret metadata: name: mysql-backup-creds type: Opaque data: mysql-backup-creds: | password=yourmileagemayvary user=backupallthethings
改进建议请参考https://github.com/instantlinux/docker-tools/blob/main/CONTRIBUTING.md%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务