Docker挂载NFS卷启动容器报no such file or directory问题求助
Docker对接OMV NFS共享存储卷故障求助
连日查找相关参考案例并反复测试仍未解决问题,现正式求助。
说明:当前先使用root账号调试打通功能,后续再切换普通用户完成权限配置。
环境概览
- 独立物理机部署OMV 6,IP为10.10.10.110,主机名myvault
- 另一台独立物理机运行Proxmox虚拟化平台,其上创建搭载Docker的Ubuntu 22.04虚拟机,IP为10.10.10.161,主机名docker-pve
实现目标:在上述Ubuntu虚拟机上正常对接OMV提供的NFS共享,将NFS共享作为Docker存储卷启动容器。
OMV 6端配置
所有NFS共享均通过Web GUI配置,为简化说明直接展示CLI查询结果:进入/export/movies路径可正常看到预期存储的所有文件,/export目录权限信息如下:
root@myvault:/export# ls -l total 68 drwxrwsrwx+ 1020 root users 53248 Jan 18 2021 movies drwxrwsr-x 87 root users 4096 Dec 16 2020 music drwxrwsr-x+ 5 root users 4096 Sep 8 2021 plex-config drwxrwsr-x 5 root users 4096 Aug 14 2020 tv root@myvault:/export
Docker主机端验证
作为Docker主机的Ubuntu虚拟机可正常查询到OMV端的NFS共享列表,执行showmount -e 10.10.10.110输出如下:
root@docker-pve:/# showmount -e 10.10.10.110 Export list for 10.10.10.110: /export/movies * /export (everyone) /export/tv 10.10.10.161 /export/music 10.10.10.161 /export/plex-config 10.10.10.161 root@docker-pve:/#
在Ubuntu服务器上执行如下命令创建测试NFS卷foo,命令执行成功返回卷名foo:
root@docker-pve:/# docker volume create --driver local \ --opt type=nfs \ --opt o=addr=10.10.10.110,nfsvers=4 \ --opt device=:/export/movies foo foo root@docker-pve:/#
但进入Docker卷本地数据路径/var/lib/docker/volumes/foo/_data执行ls -l查看,返回总大小为0,无任何文件:
root@docker-pve:/var/lib/docker/volumes/foo/_data# ls -l total 0 root@docker-pve:/var/lib/docker/volumes/foo/_data#
疑问1:该现象是否正常?原本预期此处可直接看到OMV端
/export/movies路径下存储的所有文件。
随后执行如下命令启动测试alpine容器,尝试将foo卷挂载到容器内/data路径,直接触发报错:
root@docker-pve:/# docker run -it --rm --name nfs-test -v foo:/data alpine sh docker: Error response from daemon: error while mounting volume '/var/lib/docker/volumes/foo/_data': failed to mount local volume: mount :/export/movies:/var/lib/docker/volumes/foo/_data, data: addr=10.10.10.110,nfsvers=4: no such file or directory. ERRO[0000] error waiting for container: context canceled root@docker-pve:/#
当前排查至此无法推进,恳请提供排查思路与解决方案。
编辑说明:已将原问题中的截图替换为代码块。
内容的提问来源于stack exchange,提问作者Beany386
相关产品推荐
相关产品推荐

