本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

该Docker镜像通过cron任务管理器定期运行mysqldump工具备份MySQL/MariaDB数据库。备份文件默认存储在容器内的/backup目录,可通过Docker卷挂载将备份文件存储到主机指定路径,实现数据持久化。
docker container run -d \ --env MYSQL_USER=root \ --env MYSQL_PASS=my_password \ --link mysql \ --volume /path/to/my/backup/folder:/backup \ fradelg/mysql-cron-backup
以下示例展示如何与MariaDB容器配合使用,仅内部暴露3306端口,实现数据库备份功能:
version: "2" services: mariadb: image: mariadb container_name: my_mariadb expose: - 3306 volumes: - data:/var/lib/mysql # 若数据库无初始化 schema,恢复最新备份(如有) - ${VOLUME_PATH}/backup/latest.${DATABASE_NAME}.sql.gz:/docker-entrypoint-initdb.d/database.sql.gz environment: - MYSQL_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD} - MYSQL_DATABASE=${DATABASE_NAME} restart: unless-stopped mysql-cron-backup: image: fradelg/mysql-cron-backup depends_on: - mariadb volumes: - ${VOLUME_PATH}/backup:/backup environment: - MYSQL_HOST=my_mariadb - MYSQL_USER=root - MYSQL_PASS=${MARIADB_ROOT_PASSWORD} - MAX_BACKUPS=15 - INIT_BACKUP=0 # 每天UTC时间03:00执行备份 - CRON_TIME=0 3 * * * # 最高压缩级别 - GZIP_LEVEL=9 restart: unless-stopped volumes: data:
| 环境变量 | 说明 | 默认值 |
|---|---|---|
MYSQL_HOST | MySQL数据库主机/IP | - |
MYSQL_PORT | MySQL数据库端口 | - |
MYSQL_USER | MySQL数据库用户名 | - |
MYSQL_PASS | MySQL数据库密码 | - |
MYSQL_DB | 需备份的数据库名 | --all-databases(备份所有数据库) |
MYSQLDUMP_OPTS | 传递给mysqldump的命令行参数 | - |
CRON_TIME | cron任务执行间隔(UTC时区) | 0 3 * * sun(每周日03:00) |
MAX_BACKUPS | 保留备份文件的最大数量 | 无限制 |
INIT_BACKUP | 容器启动时是否立即创建备份 | 未设置(不执行) |
INIT_RESTORE_LATEST | 容器启动时是否恢复最新备份 | 未设置(不执行) |
TIMEOUT | 数据库就绪等待时间(首次备份) | 10s |
GZIP_LEVEL | gzip压缩级别(1-9) | 6 |
TZ | 容器时区 | UTC |
在运行的容器内列出所有备份文件:
docker container exec <容器名称或ID> ls /backup
恢复指定备份文件(替换<备份文件名>为实际备份文件名):
docker container exec <容器名称或ID> /restore.sh /backup/<备份文件名>
例如,恢复201708060500.my_db.sql.gz备份:
docker container exec backup /restore.sh /backup/201708060500.my_db.sql.gz
免费版仅支持 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