Windows 10下使用Docker Compose挂载网络Z盘卷失败问题咨询
- 方案1:直接使用UNC路径代替盘符
网络映射盘符属于当前用户的会话级配置,Docker后台服务默认运行在系统上下文,无法识别用户挂载的盘符。你可以直接替换Z盘为对应的UNC路径,注意统一使用正斜杠:
把原来的z:/RAW/DonutsCalibration:/voyager_calibration替换为//IP.IP.IP.IP/public/data/RAW/DonutsCalibration:/voyager_calibration,其余路径按相同规则修改即可。
修改后的volumes配置示例:
volumes: - //IP.IP.IP.IP/public/data/RAW/DonutsCalibration:/voyager_calibration - //IP.IP.IP.IP/public/data/RAW/DonutsLog:/voyager_log - //IP.IP.IP.IP/public/data/RAW:/voyager_data - //IP.IP.IP.IP/public/data/RAW/DonutsReference:/voyager_reference
- 方案2:调整Docker Desktop运行权限与共享配置
- 打开Docker Desktop设置,进入
Resources > File Sharing,勾选Z盘添加到允许共享的目录列表,点击应用并重启Docker - 如需保留盘符使用方式,需将Docker Desktop从系统服务模式切换为当前用户运行:进入Docker设置
General页,取消勾选服务模式相关选项,改为随当前用户登录启动,确保Docker可以读取你当前用户的网络映射盘凭据 - 确认Windows凭据管理器中已经保存了该SMB共享的访问用户名和密码,避免匿名访问无权限
- 方案3:WSL2后端专属挂载方式
如果你使用的是WSL2作为Docker后端,可以先将Z盘挂载到WSL文件系统中,再通过WSL路径挂载到容器:
- 打开WSL终端,执行命令创建挂载目录:
sudo mkdir /mnt/z - 挂载Z盘到WSL:
sudo mount -t drvfs Z: /mnt/z - 将docker-compose中的路径替换为WSL下的路径:
/mnt/z/RAW/DonutsCalibration:/voyager_calibration
内容的提问来源于stack exchange,提问作者James McCormac
相关产品推荐
相关产品推荐

