
如果你使用 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 Pulls !Docker Stars !Docker Cloud Build Status
BOINC(Berkeley Open Infrastructure for Network Computing,伯克利开放式网络计算平台)是一个开源分布式计算框架,允许用户贡献闲置计算资源参与科学研究项目(如蛋白质折叠、气候变化模拟等)。本镜像为官方BOINC客户端的Docker化版本,旨在简化BOINC客户端的部署与管理,支持在容器环境中高效运行分布式计算任务。
boinccmd命令行工具远程控制| 标签 | 说明 |
|---|---|
latest, base-ubuntu | 基于Ubuntu的基础版BOINC客户端,所有x86-64镜像均以此为基础 |
base-alpine | 基于Alpine的轻量版(注意:Alpine使用musl库,部分项目可能不兼容) |
amd | 支持AMD GPU的客户端(需主机安装ROCm驱动) |
intel | 支持Intel GPU的客户端(支持Broadwell及以上CPU集成显卡) |
intel-legacy | 支持旧款Intel GPU(Sandybridge/Ivybridge/Haswell CPU集成显卡) |
multi-gpu | 同时支持Intel GPU与NVIDIA GPU的客户端 |
nvidia | 支持NVIDIA GPU(CUDA/OpenCL)的客户端(需主机安装NVIDIA驱动及原生GPU支持) |
virtualbox | 支持VirtualBox项目的客户端(需主机安装virtualbox-dkms包) |
| 标签 | 说明 |
|---|---|
arm32v7 | 适用于ARMv7 32位设备(如树莓派3) |
arm64v8 | 适用于ARMv8 64位设备(如树莓派4/5) |
以下命令启动基础版BOINC客户端(适用于CPU计算项目):
shdocker run -d \ --name boinc \ --net=host \ --pid=host \ -v /opt/appdata/boinc:/var/lib/boinc \ # 持久化存储路径(主机路径可自定义) -e BOINC_GUI_RPC_PASSWORD="123" \ # 设置GUI RPC密码(远程连接需使用) -e BOINC_CMD_LINE_OPTIONS="--allow_remote_gui_rpc" \ # 允许远程GUI连接 boinc/client
5.2.1 通过BOINC Manager连接
文件 > 选择计算机...127.0.0.1)BOINC_GUI_RPC_PASSWORD环境变量设置的密码(如上例中的123)!https://github.com/BOINC/boinc-client-docker/blob/master/manager_connect.png
5.2.2 通过命令行控制
本地控制(在容器所在主机执行):
shdocker exec boinc boinccmd <命令参数>
示例:查看任务状态
docker exec boinc boinccmd --get_tasks
远程控制(从其他主机执行):
shdocker run --rm boinc/client boinccmd --host <主机IP> --passwd <密码> <命令参数>
示例:暂停所有任务
docker run --rm boinc/client boinccmd --host 192.168.1.100 --passwd 123 --suspend_all
前提条件
启动命令
shdocker run -d \ --name boinc \ --device /dev/dri:/dev/dri \ # 挂载GPU显示设备 --device /dev/kfd:/dev/kfd \ # 挂载AMD KFD设备 --net=host \ --pid=host \ --group-add video \ # 添加video用户组,获取GPU访问权限 -v /opt/appdata/boinc:/var/lib/boinc \ -e BOINC_GUI_RPC_PASSWORD="123" \ -e BOINC_CMD_LINE_OPTIONS="--allow_remote_gui_rpc" \ boinc/client:amd
前提条件
启动命令
shdocker run -d \ --name boinc \ --device /dev/dri:/dev/dri \ # 挂载GPU显示设备 --net=host \ --pid=host \ -v /opt/appdata/boinc:/var/lib/boinc \ -e BOINC_GUI_RPC_PASSWORD="123" \ -e BOINC_CMD_LINE_OPTIONS="--allow_remote_gui_rpc" \ boinc/client:intel
前提条件
启动命令
shdocker run -d \ --name boinc \ --gpus all \ # 启用所有GPU(或指定GPU,如"device=0") --net=host \ --pid=host \ -v /opt/appdata/boinc:/var/lib/boinc \ -e BOINC_GUI_RPC_PASSWORD="123" \ -e BOINC_CMD_LINE_OPTIONS="--allow_remote_gui_rpc" \ boinc/client:nvidia
前提条件
virtualbox-dkms包,且版本与容器内VirtualBox版本完全一致(主版本.次版本.补丁版本)启动命令
shdocker run -d \ --name boinc \ --device=/dev/vboxdrv:/dev/vboxdrv \ # 挂载VirtualBox驱动设备 --net=host \ --pid=host \ -v /opt/appdata/boinc:/var/lib/boinc \ -e BOINC_GUI_RPC_PASSWORD="123" \ -e BOINC_CMD_LINE_OPTIONS="--allow_remote_gui_rpc" \ boinc/client:virtualbox
ARM32v7(32位,如树莓派3)
shdocker run -d \ --name boinc \ --net=host \ --pid=host \ -v /opt/appdata/boinc:/var/lib/boinc \ -e BOINC_GUI_RPC_PASSWORD="123" \ -e BOINC_CMD_LINE_OPTIONS="--allow_remote_gui_rpc" \ boinc/client:arm32v7
ARM64v8(64位,如树莓派4/5)
shdocker run -d \ --name boinc \ --net=host \ --pid=host \ -v /opt/appdata/boinc:/var/lib/boinc \ -e BOINC_GUI_RPC_PASSWORD="123" \ -e BOINC_CMD_LINE_OPTIONS="--allow_remote_gui_rpc" \ boinc/client:arm64v8
sh# 在管理节点初始化Swarm docker swarm init # 创建Overlay网络(供集群内服务通信) docker network create -d overlay --attachable boinc
shdocker service create \ --replicas <N> \ # 指定副本数(计算节点数量) --name boinc \ --network=boinc \ # 使用创建的overlay网络 -p 31416 \ # 暴露BOINC RPC端口 -e BOINC_GUI_RPC_PASSWORD="123" \ -e BOINC_CMD_LINE_OPTIONS="--allow_remote_gui_rpc" \ boinc/client
通过boinccmd_swarm工具向所有节点发送命令:
shdocker run --rm --network boinc boinc/client boinccmd_swarm --passwd 123 <命令参数>
示例:查询所有节点任务状态
docker run --rm --network boinc boinc/client boinccmd_swarm --passwd 123 --get_tasks
注意:Swarm模式不支持
--pid=host,因此客户端无法获取主机非BOINC进程CPU使用率,相关资源限制设置可能失效。
| 参数 | 功能描述 |
|---|---|
BOINC_GUI_RPC_PASSWORD | GUI RPC连接密码,用于BOINC Manager或boinccmd远程连接认证 |
BOINC_CMD_LINE_OPTIONS | BOINC客户端命令行选项,如--allow_remote_gui_rpc允许远程连接,--cpu_usage_limit 50限制CPU使用率等 |
BOINC_REMOTE_HOST | (可选)限制仅允许指定IP远程连接,格式为IP地址(如192.168.1.100),不设置则允许所有IP |
TZ | (可选)指定时区,默认UTC,如Asia/Shanghai(需镜像支持时区配置) |
| 参数 | 功能描述 |
|---|---|
-v /opt/appdata/boinc:/var/lib/boinc | 挂载BOINC数据目录,持久化存储配置、任务数据及计算结果 |
--device /dev/dri:/dev/dri | 挂载GPU显示设备(Intel/AMD GPU需配置) |
--device /dev/kfd:/dev/kfd | 挂载AMD KFD设备(AMD GPU需配置) |
--device /dev/vboxdrv:/dev/vboxdrv | 挂载VirtualBox驱动设备(VirtualBox标签镜像需配置) |
--gpus all | 启用所有NVIDIA GPU(NVIDIA标签镜像需配置,Docker 19.03+支持) |
--net=host | 使用主机网络模式,避免端口映射复杂配置(推荐远程管理场景) |
--pid=host | 使用主机进程命名空间,允许客户端获取主机进程信息(资源限制相关功能依赖) |
创建docker-compose.yml文件,通过docker-compose up -d启动:
yamlversion: '2' services: boinc: image: boinc/client # 根据需求替换标签,如boinc/client:nvidia container_name: boinc restart: always # 容器退出时自动重启 network_mode: host pid: host volumes: - /opt/appdata/boinc:/var/lib/boinc # 主机数据目录(自定义) environment: - BOINC_GUI_RPC_PASSWORD=123 # 替换为自定义密码 - BOINC_CMD_LINE_OPTIONS=--allow_remote_gui_rpc # 允许远程连接 # 以下设备挂载根据GPU类型添加(如NVIDIA无需,AMD/Intel需添加) # devices: # - /dev/dri:/dev/dri # - /dev/kfd:/dev/kfd # 如使用NVIDIA GPU,添加以下配置(需Docker 19.03+) # deploy: # resources: # reservations: # devices: # - driver: nvidia # count: all # capabilities: [gpu]
docker build -t boinc/client -f Dockerfile.base-ubuntu .(需获取https://github.com/BOINC/boinc-client-docker%EF%BC%89docker exec -it boinc /bin/bashdocker logs -f boinc/var/lib/boinc-client改为/var/lib/boinc,镜像同步调整。使用新版镜像需更新挂载路径,否则无法识别旧数据。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务