NFS共享卷无法挂载至Docker容器问题求助
解决Docker Compose挂载NFS共享到Radarr容器失败的问题
问题重现
你通过Docker Compose配置NFS卷挂载到Radarr容器时出现报错:
Error response from daemon: error while mounting volume '/var/lib/docker/volumes/docker_movies/_data': failed to mount local volume: mount :/media/movies:/var/lib/docker/volumes/docker_movies/_data, data: addr=192.168.0.62,nfsvers=4,nolock,soft: no such file or directory
但在Docker主机上直接执行sudo mount -t nfs mediaserver:/media/movies /home/tom/testmoviemount可以正常挂载。
解决思路
修正NFS卷的
device配置
Docker的local卷驱动中,device字段需要完整的NFS共享路径(包含服务器地址/主机名),你当前的配置里device: :/media/movies缺少了NFS服务器标识,导致Docker无法定位到正确的共享目录。修改后的卷配置如下:volumes: movies: driver: local driver_opts: type: nfs o: addr=mediaserver,nfsvers=4,nolock,soft,rw device: "mediaserver:/media/movies"规避DNS解析问题
虽然主机能解析mediaserver,但Docker守护进程可能使用不同的DNS配置,尝试直接用NFS服务器的IP地址替换主机名,排除解析故障:volumes: movies: driver: local driver_opts: type: nfs o: addr=192.168.0.62,nfsvers=4,nolock,soft,rw device: "192.168.0.62:/media/movies"检查NFS依赖包
确保Docker主机已安装NFS客户端工具:- Debian/Ubuntu系统执行:
sudo apt update && sudo apt install nfs-common - RHEL/CentOS/Rocky系统执行:
sudo dnf install nfs-utils
缺少这些工具会导致Docker无法完成NFS挂载。
- Debian/Ubuntu系统执行:
清理无效残留卷
之前失败的挂载可能留下了配置错误的卷,先删除旧卷再重新部署:docker volume rm docker_movies docker compose up -d
内容的提问来源于stack exchange,提问作者Tom
相关产品推荐
相关产品推荐

