用于创建数据库转储,以及s3cmd S3客户端用于与S3桶交互。适用于任何S3兼容对象存储系统存储数据库备份。MySQL客户端可与任何MySQL兼容数据库配合使用,如MySQL、MariaDB或Amazon Aurora MySQL等。容器以shell作为入口点,便于轻松组合mysqldump和s3cmd命令。
和功能正常的s3cmd与mysql客户端,基于轻量级Alpine镜像。
d3fk/mysql-s3-backup:stable-gpg:多架构镜像,不会重建,提供固定版本的客户端和GPG。适用于需要避免行为变更并需客户端GPG加密的场景。包含s3cmd 2.4.0、GPG 2.4.7和mysql-client 11.4.5,基于Alpine Linux v3.21。生产环境验证稳定,代码冻结在GitHub发布版中,未来不会变更或重建。
shdocker pull d3fk/mysql-s3-backup:stable-gpg
d3fk/mysql-s3-backup:stable:多架构镜像,不会重建,提供固定版本的客户端和Alpine发行版。适用于需要避免行为变更的场景。包含s3cmd 2.3.0和mysql-client 10.6.11,基于Alpine Linux v3.17。生产环境验证稳定,代码冻结在GitHub发布版中,未来不会变更或重建。
shdocker pull d3fk/mysql-s3-backup:stable
shdocker run --rm -v $(pwd):/s3 -v $HOME/.s3:/root d3fk/mysql-s3-backup sh -c 'mysqldump -h ${MYSQL_HOST:localhost} -u ${MYSQL_USER:root} --password=${MYSQL_PASSWORD:your_password} --databases ${DATABASES_NAMES:mysql}> "$(date +%F_%H)_mysqldump.sql" && s3cmd put --ssl . s3://${BUCKET_NAME}'
卷挂载说明:
-v $(pwd):/s3:将当前目录作为工作目录,可本地保留备份副本-v $HOME/.s3:/root:挂载S3配置目录,用于s3cmd配置s3cmd使用.s3cfg配置文件。若本地已使用s3cmd,上述命令将使用$HOME/.s3/.s3cfg配置。如需生成新配置或不使用本地配置,可通过以下命令生成:
shmkdir .s3 docker run --rm -ti -v $(pwd):/s3 -v $(pwd)/.s3:/root d3fk/mysql-s3-backup s3cmd --configure
也可从源码仓库的.s3目录获取空白.s3cfg模板,手动配置。
--ssl选项启用SSL--server-side-encryption指定KMS密钥-e或--encrypt标志加密选项也可在.s3cfg配置文件中定义。
详见s3cmd***文档。
该容器设计用于K8s CRONJOB,可使用提供的s3-dump-cronjob.yaml作为模板。
创建s3cmd配置ConfigMap:
shkubectl create configmap s3config --from-file $HOME/.s3
存储数据库凭据到Secret(推荐最佳实践)
部署CRONJOB:
配置数据卷/路径、桶信息(通过文件或环境变量:YOUR_KMS_KEY_ID、YOUR_BUCKET_NAME、MYSQL_HOST、MYSQL_USER、MYSQL_PASSWORD/secret、DATABASE_NAMES)后,执行:
shkubectl create -f s3-dump-cronjob.yaml
提示:启用S3桶版本控制可实现高效的版本化数据库备份系统。
如需将其他数据存储到S3兼容对象存储,建议使用d3fk/s3cmd镜像,基于Alpine,仅包含s3cmd工具,以s3cmd为入口点。
GitHub代码仓库内容基于MIT许可证。s3cmd许可证详见[***]
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429