CVAT挂载NFS存储报错operation not supported问题咨询
CVAT NFS存储挂载问题解答
CVAT云存储挂载支持说明
CVAT并非仅支持FUSE协议挂载的云存储。官方文档提及的FUSE挂载方案只是云存储对接的可选实现方式之一,通过NFS协议挂载的存储完全可以正常作为CVAT共享存储使用,你遇到的启动报错是Docker NFS卷配置逻辑错误导致的,和CVAT本身的存储协议支持无关。
报错根因
你当前配置的核心问题是:你已经提前将Azure Storage的NFS共享挂载到了Ubuntu宿主机的/mnt/share路径,但docker-compose配置中却配置为让Docker直接通过NFS协议连接远程存储地址创建原生NFS卷,跳过了宿主机已经完成的NFS挂载流程。而Azure Blob支持的NFS 3.0协议特性不兼容Docker原生NFS卷的挂载逻辑,因此触发operation not supported报错。
NFS存储对接CVAT的正确操作步骤
- 首先验证宿主机NFS挂载状态:执行
ls /mnt/share,确认可以正常浏览存储内文件、无权限或连接报错。 - 修改
docker-compose.override.yml配置,删除原有Docker NFS命名卷的配置,直接将宿主机上已经挂载完成的/mnt/share目录以绑定挂载的方式映射到CVAT容器内,正确配置示例如下:
version: '3.3' services: cvat: environment: CVAT_SHARE_URL: 'Mounted from /mnt/share host directory' volumes: - /mnt/share:/home/django/share:ro
- 清理之前创建的异常卷:执行
docker volume rm cvat_cvat_share清除错误配置生成的残留卷。 - 重新启动服务:在CVAT部署目录下执行
docker-compose up -d即可正常启动。
补充说明:如果需要CVAT对共享存储有写入权限,将挂载配置末尾的
ro(只读)参数修改为rw(读写)即可;如果宿主机开启了SELinux安全模块,可在挂载参数后追加:z标签解决权限拦截问题。
内容的提问来源于stack exchange,提问作者raja
相关产品推荐
相关产品推荐

