
dsteinkopf/backup-all-mysql该镜像用于定期备份MySQL数据库,通过链接名为“mysql”的数据库容器,将所有数据库备份文件存储到/var/dbdumps卷中,支持自定义备份策略和安全配置。
适用于Docker环境中需要定期备份MySQL数据库的场景,包括单机Docker部署或Docker Swarm集群,特别适合对数据安全性要求高、需避免备份文件泄露的生产环境。
dsteinkopf/backup-all-mysql镜像启动容器/var/dbdumps卷,用于存储备份文件| 环境变量 | 默认值 | 说明 |
|---|---|---|
| BACKUP_INTERVAL | - | 备份间隔时间(秒) |
| BACKUP_FIRSTDELAY | - | 首次备份延迟时间(秒),防止启动时覆盖现有备份 |
| MYSQLDUMP_ADD_OPTS | "" | 附加到mysqldump命令的额外参数 |
| MYSQL_CONNECTION_PARAMS | "" | 附加到所有MySQL命令(含mysqldump)的通用连接参数 |
| MYSQL_HOST | "mysql" | MySQL数据库主机名或IP地址 |
| MYSQL_USER | "root" | 连接MySQL的用户名 |
| MYSQL_PASSWORD | 优先使用MYSQL_ENV_MYSQL_ROOT_PASSWORD | 连接MySQL的密码,支持通过_FILE后缀从文件读取(如Docker Secrets) |
| USE_PIPE_TO_BZ | 1 | 是否通过管道直接压缩备份(1=启用,节省空间但耗时更长) |
敏感信息安全:MYSQLDUMP_ADD_OPTS、MYSQL_CONNECTION_PARAMS、MYSQL_HOST、MYSQL_USER、MYSQL_PASSWORD支持添加_FILE后缀,从文件中读取值(如
MYSQL_PASSWORD_FILE=/run/secrets/mysql-pwd),适用于Docker Swarm Secrets或隐藏敏感数据。
备份状态通过/var/dbdumps/errorslastrun.log文件监控:
ymlmysql-backup: image: dsteinkopf/backup-all-mysql:latest environment: - BACKUP_INTERVAL=20000 # 备份间隔(秒) - BACKUP_FIRSTDELAY=3600 # 首次备份延迟(秒) - MYSQL_USER=backupuser # 自定义备份用户 links: - mysql # 链接到名为mysql的数据库容器 restart: always volumes: - /opt/mysql-backups:/var/dbdumps # 挂载备份存储卷 - /etc/localtime:/etc/localtime # 同步容器时间 - /etc/timezone:/etc/timezone
ymlversion: '3.2' services: backup: image: dsteinkopf/backup-all-mysql:latest environment: - BACKUP_INTERVAL=21600 # 6小时备份一次 - BACKUP_FIRSTDELAY=3600 # 首次备份延迟1小时 - MYSQL_HOST=mariadb # 数据库主机名 - MYSQL_ENV_MYSQL_ROOT_PASSWORD_FILE=/run/secrets/mysql-pwd # 从Secrets读取密码 restart: always volumes: - /opt/mysql-backups:/var/dbdumps - /etc/localtime:/etc/localtime secrets: - mysql-pwd # 挂载Secrets mariadb: image: mariadb:latest secrets: - mysql-pwd restart: always environment: MYSQL_ROOT_PASSWORD_FILE: /run/secrets/mysql-pwd # 数据库使用相同Secrets secrets: mysql-pwd: external: true # 使用外部定义的Secrets


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务