
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
kube-backup是一个实用工具容器,用于从Kubernetes集群中的容器备份数据库和文件,并将备份文件存储到AWS S3桶。镜像可在https://hub.docker.com/r/whereisaaron/kube-backup/%E8%8E%B7%E5%8F%96%EF%BC%8C%E6%BA%90%E7%A0%81%E6%89%98%E7%AE%A1%E4%BA%8Ehttps://github.com/whereisaaron/kube-backup%EF%BC%8C%E6%AC%A2%E8%BF%8E%E5%9C%A8Github%E4%B8%8A%E6%8F%90%E5%87%BA%E6%84%8F%E8%A7%81%E5%92%8C%E8%B4%A1%E7%8C%AE%E6%94%B9%E8%BF%9B%E3%80%82
kubectl exec在目标容器内执行备份操作(支持MySQL数据库和文件)需在运行kube-backup的命名空间中创建名为kube-backup的Secret,包含AWS凭证和S3桶名。示例部署文件可参考https://github.com/whereisaaron/kube-backup/tree/master/deploy%E3%80%82
kube-backup.sh支持以下主要参数(也可通过环境变量配置):
--task: 指定备份任务类型(如backup-mysql-exec、backup-files-exec)--pod: 目标Pod名称(或使用--selector指定Pod选择器)--container: 目标容器名称--files-path: 需备份的文件路径(仅backup-files-exec任务)--database: 需备份的数据库名称(仅backup-mysql-exec任务)--s3-bucket: S3桶名(默认从AWS Secret获取)--dry-run: 模拟备份操作,不实际生成备份文件bashkubectl run --attach --rm --restart=Never kube-backup --image whereisaaron/kube-backup:0.1.5 -- \ --task=backup-files-exec --namespace=default --pod=my-pod --container=website --files-path=/var/www
bashkubectl run --attach --rm --restart=Never kube-backup --image whereisaaron/kube-backup:0.1.5 -- \ --task=backup-mysql-exec --namespace=default --pod=my-pod --container=mysql
bashkubectl run --schedule='@daily' --restart=Never kube-backup --image whereisaaron/kube-backup:0.1.5 -- \ --task=backup-files-exec --namespace=default --pod=my-pod --container=website --files-path=/var/www
bash#!/bin/bash TIMESTAMP=$(date +%Y%m%d-%H%M) run_name () { echo "kb-$(cat /dev/urandom | tr -dc 'a-z0-9' | head -c 4)" } #EXTRA_OPTS='--dry-run' CMD='kubectl run --attach --restart=Never --rm --image=whereisaaron/kube-backup:0.1.5 --namespace=kube-backup' $CMD $(run_name) -- $EXTRA_OPTS \ --task=backup-mysql-exec \ --timestamp=${TIMESTAMP} \ --namespace=default \ --selector=app=myapp,env=dev,component=mysql $CMD $(run_name) -- $EXTRA_OPTS \ --task=backup-files-exec \ --timestamp=${TIMESTAMP} \ --namespace=default \ --selector=app=myapp,env=dev,component=website \ --files-path=/var/www/assets \ --backup-name=assets
powershell#!/bin/powershell $ErrorActionPreference = "Stop" $WarningPreference = "SilentlyContinue" $Timestamp = $(Get-Date -f yyyyMMdd-hhmm) function Run-Name () { 'kb-task-' + -join (1..4 | %{ [char[]](0..127) -cmatch '[a-z0-9]' | Get-Random }) } #$ExtraOpts = '--dry-run' $Command = 'kubectl run --attach --rm --quiet --restart=Never --image=whereisaaron/kube-backup:0.1.5 --namespace=kube-backup' Invoke-Expression "$Command $(Run-Name) -- $ExtraOpts --task=backup-mysql-exec --timestamp=$Timestamp --namespace=default '--selector=app=myapp,env=dev,component=mysql'" if ($LASTEXITCODE -ne 0) { Exit $LASTEXITCODE } Invoke-Expression "$Command $(Run-Name) -- $ExtraOpts --task=backup-files-exec --timestamp=$Timestamp --namespace=default '--selector=app=myapp,env=dev,component=website' --files-path=/var/www/assets --backup-name=assets" if ($LASTEXITCODE -ne 0) { Exit $LASTEXITCODE }
创建backup-website.yaml文件:
yamlapiVersion: v1 kind: Pod metadata: name: kb-task namespace: kube-backup spec: containers: - args: - --task=backup-files-exec - --namespace=default - --selector=app=my-app,env=dev,component=website - --files-path=/var/www/assets - --backup-name=assets image: whereisaaron/kube-backup:0.1.5 name: kb-task restartPolicy: Never
执行部署:
bashkubectl create -f backup-website.yaml
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






来自真实用户的反馈,见证轩辕镜像的优质服务