如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
docker-mysqldump-to-s3是一个基于debian-slim的Docker镜像,用于将MySQL数据库通过mysqldump工具生成备份文件,并自动上传至AWS S3存储桶。该镜像为原仓库https://github.com/uqlibrary/docker-mysqldump-to-s3%E7%9A%84%E5%88%86%E6%94%AF%E7%89%88%E6%9C%AC%EF%BC%8C%E4%B8%BB%E8%A6%81%E4%BC%98%E5%8C%96%E5%8C%85%E6%8B%AC%EF%BC%9A%E5%9C%A8%E5%A4%87%E4%BB%BD%E6%96%87%E4%BB%B6%E5%90%8D%E4%B8%AD%E6%B7%BB%E5%8A%A0%E5%B0%8F%E6%97%B6%E5%92%8C%E5%88%86%E9%92%9F%E4%BF%A1%E6%81%AF%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%88%87%E6%8D%A2%E8%87%B3%E8%BD%BB%E9%87%8F%E7%BA%A7%E7%9A%84debian-slim%E5%9F%BA%E7%A1%80%E9%95%9C%E5%83%8F%E3%80%82
/dumps目录,用于临时存储备份文件| 环境变量名 | 说明 | 是否必需 | 默认值 |
|---|---|---|---|
DBHOST | MySQL服务器主机名 | 是 | - |
DBUSER | MySQL登录用户名 | 是 | - |
DBPASS | MySQL登录密码 | 是 | - |
PARAMS | mysqldump额外参数(如--single-transaction) | 否 | - |
DBNAME | 需备份的数据库名称 | 是 | - |
S3_BUCKET | S3目标存储桶名称 | 是 | - |
S3_PREFIX | S3存储桶内的文件夹路径 | 是 | - |
SLACK_WEBHOOK | Slack通知Webhook URL | 否 | - |
SLACK_CHANNEL | Slack通知频道名称 | 否(与SLACK_WEBHOOK同时使用时必需) | - |
SLACK_BOTNAME | Slack通知机器人名称 | 否 | mysqldump-to-s3 |
1. 挂载AWS配置目录
将本地.aws目录(包含credentials和config文件)挂载至容器/root/.aws:
bash-v /path/to/local/.aws:/root/.aws
2. 环境变量注入
通过环境变量直接注入AWS访问密钥:
bash-e AWS_ACCESS_KEY_ID=your_access_key -e AWS_SECRET_ACCESS_KEY=your_secret_key
3. ECS任务IAM角色
在ECS任务定义中为容器配置具有S3写入权限的IAM角色,无需额外凭证配置。
docker run命令
bashdocker run -d \ -v /local/dumps:/dumps \ -v /local/.aws:/root/.aws \ -e DBHOST=mysql.example.com \ -e DBUSER=backupuser \ -e DBPASS=backuppassword \ -e DBNAME=targetdb \ -e S3_BUCKET=my-backup-bucket \ -e S3_PREFIX=mysql/backups \ -e PARAMS="--single-transaction --quick" \ -e SLACK_WEBHOOK=https://hooks.slack.com/services/XXX \ -e SLACK_CHANNEL=#db-backups \ -e SLACK_BOTNAME=db-backup-bot \ docker-mysqldump-to-s3
docker-compose配置
yamlversion: '3' services: mysql-backup: image: docker-mysqldump-to-s3 volumes: - ./dumps:/dumps - ./aws:/root/.aws environment: - DBHOST=mysql.example.com - DBUSER=backupuser - DBPASS=backuppassword - DBNAME=targetdb - S3_BUCKET=my-backup-bucket - S3_PREFIX=mysql/backups - PARAMS=--single-transaction --quick - SLACK_WEBHOOK=https://hooks.slack.com/services/XXX - SLACK_CHANNEL=#db-backups - SLACK_BOTNAME=db-backup-bot restart: always
备份文件名将自动生成为:${DBNAME}_${YYYYMMDD}_${HHMM}.sql.gz,例如:targetdb_20240520_1430.sql.gz,确保按时间精确区分不同备份。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务