
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
这是一个Docker容器,通过awscli和cron定期将文件备份到Amazon S3,所有文件会被打包为tgz格式并使用AES 256 CBC加密。
在依赖此备份前,请务必测试从备份中恢复文件的流程。
要解密S3对象(例如2016-04-11T07:25:30Z.tgz.aes):
openssl aes-256-cbc -k <PASSPHRASE> -in 2016-04-11T07:25:30Z.tgz.aes -out restore.tgz -d tar xf restore.tgz
docker run -d [选项] hudya/backup-to-s3 backup-once|schedule|restore
| 名称 | 操作 | 必需 | 描述 |
|---|---|---|---|
| -e AWS_ACCESS_KEY_ID=eu-central-1 | 所有 | 是 | 终端区域(理想情况下与存储桶位置一致) |
| -e AWS_ACCESS_KEY_ID=<AWS_KEY> | 所有 | 是 | 您的AWS密钥 |
| -e AWS_SECRET_ACCESS_KEY=<AWS_SECRET> | 所有 | 是 | 您的AWS密钥secret |
| -e S3_PATH=s3://<BUCKET_NAME>/<PATH>/ | 所有 | 是 | S3存储桶名称和路径,应以斜杠结尾 |
| -e AES_PASSPHRASE=<PASSPHRASE> | 所有 | 是 | 用于生成AES-256-CBC加密密钥的密码 |
| -e WIPE_TARGET=false | 恢复 | 否 | 恢复前删除目标目录内容 |
| -e POST_RESTORE_COMMAND=cmd | 恢复 | 否 | 成功恢复后在容器内执行的命令 |
| -e VERSION=<VERSION_TO_RESTORE> | 恢复 | 是 | 要恢复的版本,必须是完整的S3对象名称(不含tgz.aes后缀) |
| -e PARAMS="--dry-run" | 所有 | 否 | 传递给s3命令的参数 (完整列表见此处) |
| -e DATA_PATH=/data/ | 所有 | 否 | 容器的数据文件夹,默认是/data/,应以斜杠结尾 |
| -e PREFIX=prefix | backup-once, schedule | 否 | 加密tgz文件名的前缀,基础名称是带tgz.aes后缀的日期戳 |
| -e PRE_BACKUP_COMMAND=cmd | backup | 否 | 开始压缩和加密前在容器内执行的命令 |
| -e CRON_SCHEDULE='5 3 * * *' | schedule | 否 | 指定cron任务运行时间,格式见 Cron格式,默认是每天03:05运行 |
| -v /path/to/backup:/data:ro | backup-once, schedule | 是 | 将本地目标文件夹挂载到容器的数据文件夹,该文件夹内容会被打包、加密并上传到S3存储桶 |
| -v /path/to/restore:/data | restore | 是 | 将本地目标文件夹挂载到容器的数据文件夹,从S3存储桶恢复的文件会覆盖该文件夹内所有文件(注意:文件夹不会先清空,未被覆盖的文件会保留) |
每天12:00备份到S3:
bashdocker run -d \ -e AWS_DEFAULT_REGION=eu-central-1 \ -e AWS_ACCESS_KEY_ID=myawskey \ -e AWS_SECRET_ACCESS_KEY=myawssecret \ -e S3_PATH=s3://my-bucket/backup/ \ -e AES_PASSPHRASE=secret \ -e CRON_SCHEDULE='0 12 * * *' \ -v /home/user/data:/data:ro \ hudya/backup-to-s3 schedule
执行单次备份后删除容器:
bashdocker run --rm \ -e AWS_DEFAULT_REGION=eu-central-1 \ -e AWS_ACCESS_KEY_ID=myawskey \ -e AWS_SECRET_ACCESS_KEY=myawssecret \ -e S3_PATH=s3://my-bucket/backup/ \ -e AES_PASSPHRASE=secret \ -v /home/user/data:/data:ro \ hudya/backup-to-s3 backup-once
恢复2016-04-11T07:25:30Z版本的备份后删除容器:
bashdocker run --rm \ -e AWS_DEFAULT_REGION=eu-central-1 \ -e AWS_ACCESS_KEY_ID=myawskey \ -e AWS_SECRET_ACCESS_KEY=myawssecret \ -e S3_PATH=s3://my-bucket/backup/ \ -e AES_PASSPHRASE=secret \ -e VERSION=2016-04-11T07:25:30Z \ -v /home/user/data:/data \ hudya/backup-to-s3 restore
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务