
brabholdsa/backup本镜像用于在 Docker 环境中备份 MariaDB 数据库(可能兼容 MySQL)和指定文件。支持通过 mariadb-backup 或 mariadb-dump 工具进行数据库备份,同时支持文件系统路径备份,并可配置备份保留策略。
Docker Hub 仓库地址:brabholdsa/backup
mariadb-backup(适用于 MariaDB ≥ 10.9)mariadb-dump(默认启用)latest镜像内置以下备份脚本,用于执行具体备份操作:
/usr/local/bin/backup-db:数据库备份脚本/usr/local/bin/backup-files:文件备份脚本| 环境变量名 | 描述 | 默认值 | 是否必填 |
|---|---|---|---|
TZ | 时区设置 | Europe/Brussels | 否 |
USE_MARIADB_BACKUP | 是否使用 mariadb-backup 工具(需 MariaDB ≥ 10.9) | false | 否 |
MARIADB_BACKUP_DIR | mariadb-backup 备份文件存储目录 | /backup/mariadb-backup | 否 |
USE_MARIADB_DUMP | 是否使用 mariadb-dump 工具 | true | 否 |
MARIADB_DUMP_DIR | mariadb-dump 备份文件存储目录 | /backup/mariadb-dump | 否 |
MARIADB_BACKUP_RETENTION_DAYS | 数据库备份文件保留天数 | 7 | 否 |
| 环境变量名 | 描述 | 默认值 | 是否必填 |
|---|---|---|---|
FILES_TO_BACKUP | 需备份的文件/目录路径(多个路径用空格分隔;设为 null 则不备份文件) | null | 否 |
FILES_BACKUP_DIR | 文件备份存储目录 | /backup/files | 否 |
FILES_BACKUP_RETENTION_DAYS | 文件备份保留天数 | 7 | 否 |
| 环境变量名 | 描述 | 是否必填 |
|---|---|---|
MARIADB_HOSTNAME | MariaDB 主机名 | 是 |
MARIADB_PORT | MariaDB 端口号 | 是 |
MARIADB_USER | 具有备份权限的 MariaDB 用户名 | 是 |
MARIADB_PASSWORD | 对应用户名的密码 | 是 |
MARIADB_DATABASE | 需备份的数据库名称 | 是 |
以下示例启动一个备份容器,同时备份 MariaDB 数据库和指定文件,并将备份文件挂载到宿主机的 /data/backups 目录。
bashdocker run -d \ --name mariadb-backup \ -e TZ="Asia/Shanghai" \ -e MARIADB_HOSTNAME="mariadb-container" \ -e MARIADB_PORT="3306" \ -e MARIADB_USER="backupuser" \ -e MARIADB_PASSWORD="backuppassword" \ -e MARIADB_DATABASE="mydb" \ -e USE_MARIADB_DUMP="true" \ -e MARIADB_BACKUP_RETENTION_DAYS="14" \ -e FILES_TO_BACKUP="/app/data /config" \ -e FILES_BACKUP_RETENTION_DAYS="14" \ -v /data/backups:/backup \ --link mariadb-container:mariadb \ brabholdsa/backup:latest
说明:
-v /data/backups:/backup:将宿主机的 /data/backups 目录挂载到容器的 /backup,确保备份文件持久化存储。--link mariadb-container:mariadb:若 MariaDB 运行在其他容器中,通过 --link 实现网络连通(或使用 Docker 网络别名)。mariadb-backup(需 MariaDB ≥ 10.9),需额外挂载 MariaDB 数据目录:-v /path/to/mysql/data:/var/lib/mysql。创建 docker-compose.yml 文件,配置如下:
yamlversion: '3.8' services: backup: image: brabholdsa/backup:latest container_name: mariadb-backup restart: always environment: TZ: "Asia/Shanghai" # MariaDB 连接信息(必填) MARIADB_HOSTNAME: "mariadb" MARIADB_PORT: "3306" MARIADB_USER: "backupuser" MARIADB_PASSWORD: "backuppassword" MARIADB_DATABASE: "mydb" # 数据库备份配置 USE_MARIADB_DUMP: "true" MARIADB_BACKUP_RETENTION_DAYS: "14" # 文件备份配置 FILES_TO_BACKUP: "/app/data /config" FILES_BACKUP_RETENTION_DAYS: "14" volumes: - /data/backups:/backup # 备份文件存储目录 # 若使用 mariadb-backup,需添加以下挂载(替换为实际 MariaDB 数据目录) # - /var/lib/mysql:/var/lib/mysql depends_on: - mariadb # 依赖 MariaDB 容器启动 mariadb: image: mariadb:10.11 container_name: mariadb restart: always environment: MARIADB_ROOT_PASSWORD: "rootpassword" MARIADB_USER: "backupuser" MARIADB_PASSWORD: "backuppassword" MARIADB_DATABASE: "mydb" volumes: - /data/mysql:/var/lib/mysql
启动命令:
bashdocker-compose up -d
mariadb-backup 时,需确保 MariaDB 用户(MARIADB_USER)具有读取数据库文件系统的权限,并挂载 MariaDB 数据目录(/var/lib/mysql)到容器。MARIADB_HOSTNAME 和 MARIADB_PORT 配置)。FILES_TO_BACKUP 需指定容器内的文件路径,若需备份宿主机文件,需先挂载到容器内。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务