本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
mysql-dump 是一个基于 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配置生成进入运行中的容器,执行以下命令手动触发备份:
./backup
进入运行中的容器,执行以下命令从对象存储恢复指定备份文件(需指定备份文件在存储桶中的路径):
./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对象存储所在区域 |
docker 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
version: '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
如需自定义构建镜像,执行以下命令:
# 构建镜像 sudo docker build -t cycloid/mysql-dump . # 推送镜像至仓库(需先登录镜像仓库) sudo docker push cycloid/mysql-dump
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429