
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
mysql-dump 是一个基于 https://github.com/talset/docker-mysql-backup-s3 项目构建的Docker镜像,主要用于MySQL数据库的定时备份与恢复。该镜像通过awscli或Scaleway CLI工具,将MySQL数据库备份文件(经gzip压缩)存储至AWS S3或Scaleway对象存储,并支持在Docker或Kubernetes环境中运行。
mysqldump并使用gzip压缩备份文件容器启动后,按以下流程执行备份操作:
BACKUP_TIME环境变量配置的cron表达式定时触发备份mysqldump命令导出指定MySQL数据库数据FILENAME配置生成4.2.1 手动执行备份
进入运行中的容器,执行以下命令手动触发备份:
bash./backup
4.2.2 恢复数据库
进入运行中的容器,执行以下命令从对象存储恢复指定备份文件(需指定备份文件在存储桶中的路径):
bash./restore path/inside-bucket/example.sql.gz
| 环境变量名称 | 描述 |
|---|---|
MYSQL_HOST | MySQL数据库主机地址,默认值为localhost,K8s环境示例:$(MYSQL_SERVICE_HOST) |
MYSQL_TCP_PORT | MySQL数据库端口,默认值为3306,K8s环境示例:$(MYSQL_SERVICE_PORT) |
MYSQL_USER | 连接MySQL的用户名 |
MYSQL_PWD | 连接MySQL的密码 |
MYSQL_DATABASE | 需备份的数据库名称 |
FILENAME | 备份文件名称格式,默认值为backup_%Y-%m-%d_%H-%M-%S,示例输出:backup_2015-08-03_17-58-22 |
BACKUP_DIR | 容器内备份文件临时存储目录,必要时可通过卷挂载该目录 |
BACKUP_TIME | 定时备份的cron表达式,默认值为0 5 * * *(每日凌晨5点) |
| AWS存储配置 | |
AWS_ACCESS_KEY_ID | AWS访问密钥ID(用于访问S3存储桶) |
AWS_SECRET_ACCESS_KEY | AWS密钥 |
AWS_S3_BUCKET | 存储MySQL备份的AWS S3存储桶名称 |
AWS_DEFAULT_REGION | S3存储桶所在的AWS区域 |
| Scaleway存储配置 | |
SCW_ACCESS_KEY | Scaleway访问密钥(用于访问对象存储) |
SCW_SECRET_KEY | Scaleway密钥 |
SCW_DEFAULT_ORGANIZATION_ID | Scaleway默认组织ID |
SCW_DEFAULT_REGION | Scaleway对象存储所在区域 |
bashdocker run -d \ --name mysql-dump \ -e MYSQL_HOST=mysql-service \ -e MYSQL_TCP_PORT=3306 \ -e MYSQL_USER=backupuser \ -e MYSQL_PWD=backuppassword \ -e MYSQL_DATABASE=targetdb \ -e BACKUP_TIME="0 3 * * *" \ # 每日凌晨3点执行备份 -e FILENAME="mysql_backup_%Y-%m-%d" \ -e AWS_ACCESS_KEY_ID=AKIAEXAMPLE \ -e AWS_SECRET_ACCESS_KEY=secretkeyexample \ -e AWS_S3_BUCKET=my-backup-bucket \ -e AWS_DEFAULT_REGION=us-west-2 \ cycloid/mysql-dump
yamlversion: '3' services: mysql-dump: image: cycloid/mysql-dump container_name: mysql-dump environment: - MYSQL_HOST=mysql # 假设与MySQL服务在同一网络,服务名为mysql - MYSQL_TCP_PORT=3306 - MYSQL_USER=root - MYSQL_PWD=rootpassword - MYSQL_DATABASE=appdb - BACKUP_TIME="*/30 * * * *" # 每30分钟执行一次备份 - BACKUP_DIR=/backup # 可挂载卷持久化临时备份文件 - FILENAME="appdb_backup_%Y%m%d_%H%M%S" - SCW_ACCESS_KEY=SCWEXAMPLEKEY - SCW_SECRET_KEY=scwsecretkeyexample - SCW_DEFAULT_ORGANIZATION_ID=org-xxxxxx - SCW_DEFAULT_REGION=fr-par volumes: - ./backup:/backup # 挂载本地目录作为临时备份目录 restart: unless-stopped
如需自定义构建镜像,执行以下命令:
bash# 构建镜像 sudo docker build -t cycloid/mysql-dump . # 推送镜像至仓库(需先登录镜像仓库) sudo docker push cycloid/mysql-dump
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务