
如果你使用 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 Engine管理的RBD卷插件,用于管理Ceph RBD卷。该插件基于Docker Engine插件系统运行,详情见https://docs.docker.com/engine/extend/%E3%80%82
confLOG_LEVEL=[0:错误级别;1:警告级别;2:信息级别;3:调试级别] 默认值0 RBD_CONF_DEVICE_MAP_ROOT="/dev/rbd" RBD_CONF_POOL="ssd" RBD_CONF_CLUSTER=ceph RBD_CONF_KEYRING_USER=client.admin RBD_CONF_NAMESPACE="" 挂载选项默认值为"--options=noatime"(扩展语法,无空格) MOUNT_OPTIONS="--options=noatime" VOLUME_FSTYPE="ext4" VOLUME_MKFS_OPTIONS="-O mmp" VOLUME_SIZE="512" VOLUME_ORDER="22"
通过plugin install命令传递配置参数修改默认值:
bashdocker plugin install wetopi/rbd \ --alias=wetopi/rbd \ LOG_LEVEL=1 \ RBD_CONF_POOL="ssd" \ RBD_CONF_CLUSTER=ceph \ RBD_CONF_KEYRING_USER=client.admin
重要:确保rbd内核模块在启动时加载:
bashecho "rbd" >> /etc/modules
可用卷驱动选项
conffstype: 可选,默认值为配置中的VOLUME_FSTYPE(ext4) mkfsOptions: 可选,默认值为VOLUME_MKFS_OPTIONS(-O mmp,多挂载保护) mountOptions: 可选,默认值为MOUNT_OPTIONS(--options=noatime) size: 可选,默认值为VOLUME_SIZE(512MB) order: 可选,默认值为VOLUME_ORDER(22,对应4KB对象)
3.A 创建卷
参考https://docs.docker.com/engine/reference/commandline/volume_create/%EF%BC%9A
shdocker volume create -d wetopi/rbd -o size=206 my_rbd_volume docker volume ls DRIVER VOLUME NAME local ...(本地卷列表) wetopi/rbd my_rbd_volume
3.B 使用已创建卷运行容器
bashdocker run -it -v my_rbd_volume:/data --volume-driver=wetopi/rbd docker.xuanyuan.run/busybox sh
3.C 使用***卷运行容器
bashdocker run -it -v $(docker docker.xuanyuan.run/volume create -d wetopi/rbd -o size=206):/data --volume-driver=wetopi/rbd busybox sh
注意:Docker 1.13.1版本不支持在docker run或docker create中传递卷选项。
3.D 服务使用已创建卷
bashdocker service create --replicas=1 \ --mount type=volume,source=my_rbd_volume,destination=/var/lib/mysql,volume-driver=wetopi/rbd \ mariadb:latest
3.E 服务使用***卷
bashdocker service create --replicas=1 \ -e MYSQL_ROOT_PASSWORD=my-secret-pw \ --mount type=volume,destination=/var/lib/mysql,volume-driver=wetopi/rbd,volume-opt=size=512 \ mariadb:latest
4.1 无版本标签升级
bashdocker plugin disable -f wetopi/rbd docker plugin upgrade wetopi/rbd
可选:更新配置:
bashdocker plugin set wetopi/rbd \ LOG_LEVEL=2 \ RBD_CONF_POOL="ssd" \ RBD_CONF_KEYRING_USER=client.admin
启用插件:
bashdocker plugin enable wetopi/rbd
场景:删除插件后重新安装 → 结果:插件节点上运行的容器丢失卷
解决方案:重启节点(Swarm会将容器迁移到其他节点,重启释放RBD映射和挂载镜像)。
场景:使用RBD命名空间范围内的客户端 → 结果:无法创建卷
解决方案:修改客户端权限以允许读取默认命名空间的rbd_info对象:
bash
ceph auth caps client.docker-rbd mon 'allow profile rbd' osd 'allow r pool rbd object_prefix rbd_info, profile rbd pool=rbd namespace=testns'
## 故障排查 ### 检查插件是否启用 ```bash docker plugin ls ID NAME DESCRIPTION ENABLED fff19fa9a622 wetopi/rbd:latest RBD plugin for Docker true
查找完整ID:
bashdocker-runc list | grep fff19fa9a622
执行交互shell:
bashdocker-runc exec -t [完整插件ID] bash
若容器未运行或重启,检查Docker引擎日志:
bashtail -f /var/log/upstart/docker # Upstart系统 journalctl -f -u docker.service # Systemd系统
验证插件API socket响应:
bashcurl -H "Content-Type: application/json" -XPOST -d '{}' --unix-socket /var/run/docker/plugins/[插件ID]/rbd.sock http:/VolumeDriver.List
构建并发布插件:
bashmake all
使用go mod维护vendor目录:
go get -ugo mod tidyMIT
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务