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

![License badge][license-img] ![基于操作系统][os-based-ubuntu] ![基于操作系统][os-based-alpine] ![架构amd64][arch-amd64-img] ![架构arm64][arch-arm64/v8-img]
本镜像包提供了[Bareos][bareos-href]的相关镜像:
| 模块 | 构建状态 | Ubuntu镜像大小 | Alpine镜像大小 | 拉取链接 |
|---|---|---|---|---|
| 管理服务器(Director) | [![Actions状态][build-director-img]][build-director-href] | ![大小标识][size-latest-director-png] | ![大小标识][size-alpine-director-png] | [![Docker标识][docker-img-dir]][docker-url-dir] |
| 存储守护进程(Storage Daemon) | [![Actions状态][build-storage-img]][build-storage-href] | ![大小标识][size-latest-storage-png] | ![大小标识][size-alpine-storage-png] | [![Docker标识][docker-img-sd]][docker-url-sd] |
| 客户端/文件守护进程(Client/File Daemon) | [![Actions状态][build-client-img]][build-client-href] | ![大小标识][size-latest-client-png] | ![大小标识][size-alpine-client-png] | [![Docker标识][docker-img-fd]][docker-url-fd] |
| WebUI | [![Actions状态][build-webui-img]][build-webui-href] | ![大小标识][size-latest-webui-png] | ![大小标识][size-alpine-webui-png] | [![Docker标识][docker-img-ui]][docker-url-ui] |
| API | [![Actions状态][build-api-img]][build-api-href] | ![大小标识][size-latest-api-png] | [![Docker标识][docker-img-api]][docker-url-api] |
镜像基于Alpine构建,具体标签见下文。
bareos-director(管理服务器)
21-alpine-pgsql、21-alpine、alpine、latest20-alpine-pgsql、20-alpinebareos-client(文件守护进程)、bareos-storage(存储守护进程)、bareos-webui
21-alpine、alpine、latest20-alpine、latestbareos-api
21-alpine、21、alpine、latestBareos管理服务器需要:
Bareos WebUI需要:
Bareos客户端(文件守护进程)和存储守护进程无依赖。
各组件需在独立容器中运行,并通过docker-compose链接,详见下文示例。
声明环境变量,或将 .env.dist 复制为 .env 并调整其值。
所有密码应在 .env 文件中定义。生产环境中建议不要使用 .env.dist 中的默认密码。
最后,确保更新docker-compose文件中的变量,如 ADMIN_MAIL 或 DB_USER。
docker-compose -f /path/to/your/docker-compose.yml up -d
Alpine和Ubuntu基础的docker-compose文件如下:
| 文件 | compose版本 | docker版本 | 最新构建 |
|---|---|---|---|
| [alpine-v1/mysql][compose-alpinev1-href] | v3+ | v1.13.0+ | ![运行compose][run-compose-png] |
| [alpine-v2/mysql][compose-alpinev2-href] | v3.7+ | v18.06.0+ | ![运行compose][run-compose-png] |
| [ubuntu/mysql][compose-ubuntu-mysql-href] | v3+ | v1.13.0+ | ![运行compose][run-compose-png] |
| [ubuntu/pgsql][compose-ubuntu-pgsql-href] | v3+ | v1.13.0+ | ![运行compose][run-compose-png] |
:file_folder: 这些docker-compose文件配置为将数据存储在 /data/(bareos|mysql|pgsql) 目录。
容器启动后,可通过WebUI、CLI或API访问Bareos。
在浏览器中打开 [***],登录信息:
用户名:admin / 密码:<BAREOS_WEBUI_PASSWORD>(在.env文件中定义)
docker exec -it bareos-dir bconsole
(需要Bareos 20+和Bareos命名控制台)
在浏览器中打开 [***],点击"Authorize"登录。
或使用curl示例:
获取令牌(返回包含令牌的JSON对象):
curl -X 'POST' \ '[***] \ -H 'accept: application/json' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'grant_type=&username=admin&password=ThisIsMySecretUIp4ssw0rd&scope=&client_id=&client_secret='
使用WebUI管理员用户的凭据,该用户在Bareos管理服务器中配置为命名控制台。
返回结果:
{ "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTY0NzIxMDM3NX0.alKiLsgMrovKVX6fdcUqkhG_9lsJNiOBQ6X7ixyziGw", "token_type": "bearer" }
使用令牌读取所有客户端配置(类似bconsole):
curl -X 'GET' \ '[***] \ -H 'accept: application/json' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTY0NzIxMDM3NX0.alKiLsgMrovKVX6fdcUqkhG_9lsJNiOBQ6X7ixyziGw'
将返回包含所有客户端配置的JSON文件。
在浏览器中打开 [***] 查看可用指标。
更多关于[Bareos exporter][bareos-exporter-href]的信息,感谢@vierbergenlars。
指标应由[Prometheus][prometheus-href]服务器抓取。
更多Bareos配置和使用信息,请参考[官方文档][bareos-doc]。
由于Bareos版本 >= 21.0.0不再支持MySQL数据库后端,需使用Bareos 20将现有MySQL目录迁移到PostgreSQL。为此,先升级到Bareos 20,然后使用[此docker-compose文件][compose-db-migration-href]备份(可选)整个Bareos MySQL目录并复制到新的PostgreSQL目录数据库。
若PostgreSQL数据库为空或不存在,将自动创建。
:warning: 不要忘记包含所需密码的 .env 文件!
目前,最新的Ubuntu基础镜像兼容PostgreSQL 12及以下版本,Alpine镜像兼容PostgreSQL 14,这取决于备份Bareos数据库所需的 pg_dump 版本。
Ubuntu镜像:
Alpine镜像:
核心思路是使用[postgresql-upgrade][psql-upgrade-href] Docker镜像,创建新的PostgreSQL实例,然后使用 pg_upgrade 工具将所有数据库从旧实例迁移到新实例。
操作步骤:找到PostgreSQL数据文件夹(根据docker-compose配置可能为 /data/pgsql/data),确定初始化实例的用户(postgres、pgsql或root)。
以下示例使用数据源 /data/pgsql/data 和postgres作为管理员用户:
docker run -t -i \ -e PG_NEW=12 \ -e PGUSER=postgres \ -v /data/pgsql/data:/pg_old/data \ -v /data/pgsql-new/data:/pg_new/data \ barcus/postgresql-upgrade
迁移成功后,在docker-compose文件中使用新文件夹 /data/pgsql-new/data 和对应的PostgreSQL版本。
使用以下模板构建自定义docker-compose文件:
version: '3' services: bareos-dir: image: barcus/bareos-director:latest # 基于Ubuntu的最新director-pgsql volumes: - <BAREOS_CONF_PATH>:/etc/bareos - <BAREOS_DATA_PATH>:/var/lib/bareos # MyCatalog备份必需 environment: - DB_INIT=false - DB_UPDATE=false - DB_HOST=bareos-db - DB_PORT=3306 - DB_NAME=bareos - DB_USER=bareos - DB_PASSWORD=${DB_PASSWORD} # 在.env文件中定义 - DB_ADMIN_USER=${DB_ADMIN_USER} # 在.env文件中定义 - DB_ADMIN_PASSWORD=${DB_ADMIN_PASSWORD} # 在.env文件中定义 - BAREOS_FD_HOST=bareos-fd - BAREOS_FD_PASSWORD=${BAREOS_FD_PASSWORD} # 在.env文件中定义 - BAREOS_SD_HOST=bareos-sd - BAREOS_SD_PASSWORD=${BAREOS_SD_PASSWORD} # 在.env文件中定义 - BAREOS_WEBUI_PASSWORD=${BAREOS_WEBUI_PASSWORD} # 在.env文件中定义 - SMTP_HOST=smtpd - SENDER_MAIL=*** # 可选 - ADMIN_MAIL=*** # 请修改! # 可选:通过Slack或***接收备份通知 - WEBHOOK_NOTIFICATION=true # true或false,设为true将禁用邮件通知 - WEBHOOK_TYPE=slack # 选择slack或*** - WEBHOOK_URL= # 设置slack或*** URL - WEBHOOK_CHAT_ID= # 仅***需要设置<chat_id> depends_on: - bareos-db bareos-sd: image: barcus/bareos-storage:latest ports: - 9103:9103 volumes: - <BAREOS_CONF_PATH>:/etc/bareos - <BAREOS_BKP_VOLUME_PATH>:/var/lib/bareos/storage environment: - BAREOS_SD_PASSWORD=${BAREOS_SD_PASSWORD} # 与Bareos管理服务器部分相同 bareos-fd: image: barcus/bareos-client:latest volumes: - <BAREOS_CONF_PATH>:/etc/bareos - <BAREOS_DATA_PATH>:/var/lib/bareos-director # 管理服务器数据访问必需 environment: - BAREOS_FD_PASSWORD=${BAREOS_FD_PASSWORD} # 与Bareos管理服务器部分相同 - FORCE_ROOT=false bareos-webui: image: barcus/bareos-webui:latest ports: - 8080:80 environment: - BAREOS_DIR_HOST=bareos-dir - SERVER_STATS=yes # 可选启用apache服务器统计 volumes: - <BAREOS_CONF_PATH>:/etc/bareos-webui #bareos-db: # image: mysql:5.6 # volumes: # - <DB_DATA_PATH>:/var/lib/mysql # environment: # - MYSQL_ROOT_PASSWORD=${DB_ADMIN_PASSWORD} # 在.env文件中定义 bareos-db: image: postgres:12 volumes: - <DB_DATA_PATH>:/var/lib/postgresql/data environment: - POSTGRES_USER=${DB_ADMIN_USER} # 在.env文件中定义 - POSTGRES_PASSWORD=${DB_ADMIN_PASSWORD} # 在.env文件中定义 - POSTGRES_INITDB_ARGS=--encoding=SQL_ASCII bareos-api: image: barcus/bareos-api:21 ports: - 8000:8000 environment: - BAREOS_DIR_HOST=bareos-dir smtpd: image: namshi/smtp
Bareos管理服务器(bareos-dir)
<BAREOS_CONF_PATH>:主机端管理服务器配置文件夹路径(可选/推荐)<BAREOS_DATA_PATH>:主机端管理服务器数据文件夹路径(推荐)Bareos存储守护进程(bareos-sd)
<BAREOS_CONF_PATH>:主机端存储守护进程配置文件夹路径(可选/推荐)<BAREOS_BKP_VOLUME_PATH>:主机端数据文件夹路径(可选)Bareos客户端/文件守护进程(bareos-fd)
<BAREOS_CONF_PATH>:主机端客户端配置文件夹路径(可选/推荐)<BAREOS_DATA_PATH>:管理服务器数据文件夹访问路径(推荐)数据库(MySQL或PostgreSQL)(bareos-db)
作为目录后端必需,使用官方MySQL/PostgreSQL镜像:
<DB_DATA_PATH>:主机端MySQL/PostgreSQL数据文件夹路径Bareos WebUI(bareos-webui)
<BAREOS_CONF_PATH>:主机端WebUI配置文件夹路径(可选)admin:warning: 注意所有*_HOST变量必须设置为容器名称。
构建自己的Bareos镜像:
git clone [***] cd bareos docker build -t director-pqsl:20-alpine director-pgsql/20-alpine docker build -t storage:20-alpine storage/20-alpine docker build -t client:20-alpine client/20-alpine docker build -t webui:20-alpine webui/20-alpine
构建自定义Xenial基础系统镜像:
git clone [***] cd docker-ubuntu ./build.sh -d xenial
感谢@rockyluke :)
更多信息请访问GitHub仓库:
免费版仅支持 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