本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

基于Debian的容器镜像,运行openssh-daemon,仅允许用户“borg”通过SSH公钥认证访问,使用borgbackup作为客户端。备份仓库、客户端SSH密钥和SSH主机密钥将存储在持久化存储中。每添加一个SSH密钥,会自动创建一个独立的borg仓库。
注意:本文档假设您了解SSH密钥的概念以及如何生成和使用它。如果不了解,建议从Arch Wiki开始学*。**
以下是配置和运行此镜像的快速示例:
$ mkdir -p borg/sshkeys/clients
确保sshkey文件夹权限正确:
$ chown 1000:1000 borg/sshkeys
记住:文件名 = Borg仓库名称!
$ cp ~/.ssh/my_machine.pub borg/sshkeys/clients/my_machine
OpenSSH守护进程将在22/tcp端口暴露,因此您可能需要将其重定向到其他端口,如下例所示:
docker run -td \ -p 2222:22 \ --volume ./borg/sshkeys:/sshkeys \ --volume ./borg/backup:/backup \ nold360/borgserver:latest
用于设置内部使用的“borg serve”命令的特殊选项。
有关所有可用参数的文档,请参见:borgbackup.readthedocs.io
docker run --rm -e BORG_SERVE_ARGS="--progress --debug" (...) nold360/borgserver
如果希望客户端只能追加数据而不能修剪仓库,请将此变量设置为**"yes"**。
当BORG_APPEND_ONLY激活时,没有客户端能够修剪其仓库。
由于您可能需要在某些时候清理仓库,可以将一个客户端声明为borg“管理员”。
此客户端将对所有客户端的仓库拥有完全访问权限!因此它可以执行添加、修剪等任何操作。
要将客户端声明为管理员,请将此变量设置为添加到/sshkeys/clients目录中的客户端/sshkey名称。
docker run --rm -e BORG_APPEND_ONLY="yes" -e BORG_ADMIN="nolds_notebook" (...) nold360/borgserver
要修剪其他客户端的仓库,必须在客户端目录中指定仓库路径:
borg prune --keep-last 100 --keep-weekly 1 (...) borgserver:/clientA/clientA
用于设置容器内“borg”用户的用户ID。当容器需要以特定用户ID访问主机资源时,此参数很有用。
用于设置容器内“borg”组的组ID。当容器需要以特定组ID访问主机资源时,此参数很有用。
要使borgserver正常工作,需要两个持久化存储目录。
此目录包含两个子目录:
此处存放所有需要备份的borg客户端的SSH公钥。每个密钥必须是单独的文件,仅包含一行密钥内容。文件名将成为客户端连接所需的borg仓库名称。
这意味着每个客户端都有自己的仓库。因此,您可能希望使用客户端的主机名作为sshkey文件的名称。
隐藏文件和隐藏目录中的文件将被忽略!
例如:/sshkeys/clients/webserver.mydomain.com
然后客户端需要像这样初始化borg仓库:
webserver.mydomain.com ~$ borg init ssh://borg@borgserver-container/backup/webserver.mydomain.com/my_first_repo
!重要!:只有当此目录中至少存在一个ssh密钥文件时,容器才会启动SSH守护进程!
此目录将在首次启动时自动创建。run.sh脚本也会将SSH主机密钥复制到此处,以便客户端可以验证borgserver的SSH主机密钥。
borg将在此目录中写入所有客户端数据。最好从空目录开始使用。
以下是使用docker-compose运行borgserver的快速示例:
services: borgserver: image: nold360/borgserver volumes: - /backup:/backup - ./sshkeys:/sshkeys ports: - "2222:22" environment: BORG_SERVE_ARGS: "" BORG_APPEND_ONLY: "no" BORG_ADMIN: "" PUID: 1000 PGID: 1000
通过此配置(在borg客户端上),您可以轻松连接到borgserver:
Host backup Hostname my.docker.host Port 2222 User borg
现在可以像这样初始化borg仓库:
$ borg init backup:my_first_borg_repo
并创建您的第一个备份!
$ borg create backup:my_first_borg_repo::documents-2017-11-01 /home/user/MyImportentDocs
免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429