
如果你使用 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镜像包含https://borgbackup.readthedocs.io/en/stable/客户端工具和sshfs支持。Borg是一款具有重复数据删除、压缩和认证加密功能的归档工具,效率极高,无需定期完整备份,并支持数据清理。
Docker Hub:https://hub.docker.com/r/pschiffe/borg
源代码GitHub仓库:https://github.com/pschiffe/docker-borg
如果此项目对您有用,请考虑赞助我以支持维护和进一步开发。谢谢!
首先,拉取镜像以保持其为最新版本。然后创建并运行borg备份容器。在此快速开始示例中,主机的/etc和/home目录以只读方式绑定挂载到容器中,这些是将要备份的目录。备份数据将存储在borg-repoDocker卷中,并使用my-secret-pw密码进行保护。如果主机使用SELinux,请使用--security-opt label:disable标志,因为我们不想重新标记/etc和/home目录,但需要容器能够访问它们。备份完成后,数据将根据默认策略进行清理并检查错误。容器内的Borg以详细模式运行,将打印备份的详细输出。最后,容器将被删除,这通过单独的docker rm命令完成,因为docker run的--rm选项会同时删除Docker卷,这是我们不希望的。通过每次删除容器并从 registry 拉取镜像,确保每次备份运行时容器都是全新的。
docker pull docker.xuanyuan.run/pschiffe/borg docker run \ -e BORG_REPO=/borg/repo \ -e BORG_PASSPHRASE=my-secret-pw \ -e BACKUP_DIRS=/borg/data \ -e EXCLUDE='*/.cache*;*.tmp;/borg/data/etc/shadow' \ -e COMPRESSION=lz4 \ -e PRUNE=1 \ -v borg-config:/root \ -v borg-repo:/borg/repo \ -v /etc:/borg/data/etc:ro \ -v /home:/borg/data/home:ro \ --security-opt label:disable \ --name borg-backup \ docker.xuanyuan.run/pschiffe/borg docker rm borg-backup
docker run \ -e BORG_REPO='user@hostname:/path/to/repo' \ -e ARCHIVE=wordpress-$(date +%Y-%m-%d) \ -e BORG_PASSPHRASE=my-secret-pw \ -e BACKUP_DIRS=/borg/data \ -e COMPRESSION=lz4 \ -e PRUNE=1 \ -v borg-config:/root \ -v mariadb-data:/borg/data/mariadb:ro \ -v wordpress-data:/borg/data/wordpress:ro \ --name borg-backup \ pschiffe/borg
docker run \ -e SSHFS='user@hostname:/path/to/repo' \ -e SSHFS_PASSWORD=my-ssh-password \ -e BORG_PASSPHRASE=my-secret-pw \ -e BACKUP_DIRS=/borg/data \ -e COMPRESSION=lz4 \ -e PRUNE=1 \ -v borg-config:/root \ -v mariadb-data:/borg/data/mariadb:ro \ -v wordpress-data:/borg/data/wordpress:ro \ --cap-add SYS_ADMIN --device /dev/fuse --security-opt label:disable \ --name borg-backup \ docker.xuanyuan.run/pschiffe/borg
docker run \ -e SSHFS='user@hostname:/path/to/repo' \ -e SSHFS_IDENTITY_FILE=/root/ssh-key/key \ -e SSHFS_GEN_IDENTITY_FILE=1 \ -e BORG_PASSPHRASE=my-secret-pw \ -e BACKUP_DIRS=/borg/data \ -e COMPRESSION=lz4 \ -e PRUNE=1 \ -v borg-config:/root \ -v mariadb-data:/borg/data/mariadb:ro \ -v wordpress-data:/borg/data/wordpress:ro \ --cap-add SYS_ADMIN --device /dev/fuse --security-opt label:disable \ --name borg-backup \ docker.xuanyuan.run/pschiffe/borg
docker run \ -e BORG_REPO='user@hostname:/path/to/repo' \ -e ARCHIVE=wordpress-2016-05-25 \ -e BORG_PASSPHRASE=my-secret-pw \ -e EXTRACT_TO=/borg/restore \ -e EXTRACT_WHAT=only/this/file \ -v borg-config:/root \ -v /opt/restore:/borg/restore \ --security-opt label:disable \ --name borg-backup \ docker.xuanyuan.run/pschiffe/borg
docker run \ -e BORG_REPO='user@hostname:/path/to/repo' \ -e BORG_PASSPHRASE=my-secret-pw \ -e BORG_PARAMS='list ::2016-05-26' \ -v borg-config:/root \ --name borg-backup \ docker.xuanyuan.run/pschiffe/borg
以下是所有支持的环境变量说明。
BORG_REPO - 仓库位置
ARCHIVE - Borg仓库的归档参数。若为空,默认值为"${HOSTNAME}_$(date +%Y-%m-%d)"。更多信息参见https://borgbackup.readthedocs.io/en/stable/usage.html
BACKUP_DIRS - 要备份的目录
EXCLUDE - 要从备份中排除的路径/模式。路径必须用;分隔。例如:-e EXCLUDE='/my path/one;/path two;*.tmp'
BORG_PARAMS - 在容器内运行自定义borg命令。若设置此变量,将不执行默认命令,仅执行BORG_PARAMS中指定的命令。例如list或list ::2016-05-26。在这两个示例中,未指定仓库,因为borg能识别BORG_REPO环境变量并默认使用它
BORG_SKIP_CHECK - 若设置为1,则在备份结束时跳过borg check命令
COMPRESSION - 使用的压缩算法。默认值为lz4。https://borgbackup.readthedocs.io/en/stable/usage.html#borg-create
BORG_PASSPHRASE - repokey模式的密码。默认值为空。此Docker镜像仅支持repokey模式加密。https://borgbackup.readthedocs.io/en/stable/usage.html#borg-init
EXTRACT_TO - 提取(恢复)borg归档的目录。若设置此变量,将不执行默认命令,仅执行提取操作。仓库和归档通过BORG_REPO和ARCHIVE变量指定。https://borgbackup.readthedocs.io/en/stable/usage.html#borg-extract
EXTRACT_WHAT - 要提取的文件和目录子集
PRUNE - 若设置,备份后清理仓库。默认值为空。https://borgbackup.readthedocs.io/en/stable/usage.html#borg-prune
GLOB - 通过将通配符与归档匹配来筛选要清理的数据。默认值为空 - 清理所有数据
PRUNE_PREFIX - 通过归档前缀筛选要清理的数据。默认值为空 - 清理所有数据(已弃用,使用GLOB代替)
KEEP_DAILY - 保留的每日备份数量。默认值为7
KEEP_WEEKLY - 保留的每周备份数量。默认值为4
KEEP_MONTHLY - 保留的每月备份数量。默认值为6
SSHFS - sshfs目标,格式为user@host:/path。使用sshfs时,容器需要特殊权限:--cap-add SYS_ADMIN --device /dev/fuse;若使用SELinux:--security-opt label:disable;若使用apparmor:--security-opt apparmor:unconfined
SSHFS_PASSWORD - ssh认证密码
SSHFS_IDENTITY_FILE - ssh密钥路径
SSHFS_GEN_IDENTITY_FILE - 若设置,当SSHFS_IDENTITY_FILE已设置且密钥文件不存在时,生成ssh密钥对。生成密钥后,公钥部分将打印到stdout,容器停止,以便您在创建首次备份前有机会配置服务器端
LOGGING_LEVEL - Borg的https://borgbackup.readthedocs.io/en/stable/usage/general.html#logging,默认值为`--info`
DEBUG - 启用调试模式,0或1,默认值为0
SHOW_PROGRESS - 显示Borg的进度信息,0或1,默认值为0
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务