
backuptools/postgres-backup-s3本Docker镜像用于将Postgres数据库备份至S3存储,通过pg_dump工具导出数据库,并支持多种压缩算法(默认pigz)进行数据压缩。支持自定义S3端点(如MinIO)、PGP加密,可直接在Docker或Kubernetes环境中运行,适用于需要定期备份Postgres数据并存储至S3兼容存储的场景。
通过环境变量配置镜像行为,关键参数如下:
| 环境变量 | 说明 |
|---|---|
S3_BUCK | S3桶名称,若不存在将自动创建 |
S3_NAME | 备份文件在S3中的路径及前缀,格式:文件夹名/备份文件名前缀 |
S3_URI | S3连接URI,格式:[***] |
PG_URI | Postgres数据库连接URI,格式:postgres://用户:密码@主机:端口/数据库名 |
GPG_KEYSERVER | PGP密钥服务器(如keyserver.ubuntu.com),用于获取加密公钥 |
GPG_KEYID | PGP接收者密钥ID,配置后备份文件将被加密 |
COMPRESS | 压缩算法,可选值:pigz(默认)、xz、bzip2、lrzip、brotli、zstd |
可通过docker-compose.yml文件运行容器,示例配置参考项目中的docker-compose.yml文件。基本运行命令需指定上述环境变量,例如:
bashdocker run -e S3_BUCK=postgres-backups -e S3_NAME=prod/backup -e S3_URI=[***] -e PG_URI=postgres://user:pass@postgres-host:5432/db -e COMPRESS=pigz backuptools/postgres-backup-s3
通过Kubernetes CronJob实现定时备份,配置示例参考项目中的kubernetes-cronjob.yml文件。CronJob将定期执行备份任务,配置中需正确设置环境变量以匹配S3和Postgres连接信息。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务