Docker Compose挂载SMB共享失败(参数无效)如何解决?
解决Docker Compose挂载CIFS共享时的"invalid argument"错误
你的Docker Compose配置尝试挂载SMB共享,但触发了参数无效错误,这通常是因为CIFS挂载参数不符合系统要求,而非连接或凭证问题。以下是几个可行的解决方向:
1. 指定SMB版本参数
Windows的SMB共享通常需要明确指定版本,默认的自动协商可能不兼容。在o参数中添加vers=3.0(可根据你的Windows版本选择2.0/3.0/3.1.1):
volumes: video: driver_opts: type: cifs o: "username=guest,password=guest,vers=3.0" device: "//192.168.42.13/video"
2. 补充完整挂载参数
添加字符集、权限相关参数,避免系统解析参数时出错:
volumes: video: driver_opts: type: cifs o: "username=guest,password=guest,vers=3.0,iocharset=utf8,noperm" device: "//192.168.42.13/video"
3. 检查Windows共享配置
- 确认
//192.168.42.13/video是正确的共享路径,共享名无拼写错误 - 确保Windows端允许Guest账户访问该共享,且SMB服务已启用(可在「控制面板→程序→启用或关闭Windows功能」中检查SMB相关选项)
4. 验证Docker Desktop权限
在Windows的Docker Desktop设置中,进入「Resources→File Sharing」,确保已允许Docker访问网络共享资源,必要时重启Docker Desktop生效。
注意:无需在device参数前添加smb:前缀,CIFS类型的挂载直接使用//IP/共享名格式即可。
内容的提问来源于stack exchange,提问作者kshetline
相关产品推荐
相关产品推荐

