700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 从Windows 10共享文件夹给Docker虚拟机中的Docker的神奇bug

从Windows 10共享文件夹给Docker虚拟机中的Docker的神奇bug

时间:2023-10-30 19:55:48

相关推荐

从Windows 10共享文件夹给Docker虚拟机中的Docker的神奇bug

一,回顾

这篇文章是基于之前发布的脚本

/hu_zhenghui/article/details/79087151

不过在更多的设备上测试的时候,发现时灵时不灵,为了排查问题,花了很多时间,走了很多弯路,把这些经验做个总结,希望当您遇到类似的问题的时候可以节约时间。

二,测试环境

三,成功的用例

之前发布的脚本是在Surface Pro 1上共享文件夹给Surface Pro 1上Docker虚拟机,测试成功,也就没有想到会有什么问题

四,发现问题

使用同样的脚本在Surface Pro 3上共享文件夹给Surface Pro 1上Docker虚拟机,失败。

Docker虚拟机的版本相同

Surface Pro 3和Surface Pro 1都是Windows 10自动更新的

五,更多的测试

六,分析

很显然,只有两种情况失败,都和Surface Pro 3有关,上网搜索。

强调一下,上网搜索可能是捷径,也可能被误导。

看到的信息比较多的谈论SMB协议的版本问题,也就是说Linux只能访问较低版本,而Windows出于已知的安全隐患禁止了SMB协议的较低版本。

在这个方向上的调查浪费了很多时间……

七,柳暗花明

在网上和咨询专家获得的各种思路都尝试了一下,没有收获,最后在整理文档的时候,偶然发现了一个可行的情况。

Surface Pro 3上有两个盘,一个是系统盘C,一个是数据盘D,一直在数据盘D上做实验,整理文档的时候,把代码移动到了系统盘C上的OneDrive文件夹,顺手实验了一下,就成功了!!!

为了验证,构建测试用例如下

创建用户userc

创建用户userd

在系统盘C的根目录中创建文件夹 C:/sharec,设置用户userc具有完全控制权限,共享为文件夹sharec,设置共享权限为userc具有完全控制权限。

在数据盘D的根目录中创建文件夹 D:/shared,设置用户userd具有完全控制权限,共享为文件夹shared,设置共享权限为userd具有完全控制权限。

进入Docker虚拟机的命令行界面。

创建加载文件夹/mntc

mkdir /mntc

创建加载文件夹/mntd

mkdir /mntd

加载前面共享的sharec

mount -t cifs //192.168.1.58/sharec /mntc -o username=userc,password=userc

成功

创建文件

touch /mntc/test.txt

成功

加载前面共享的shared

mount -t cifs //192.168.1.58/shared /mntd -o username=userd,password=userd

报错

mount: mounting //192.168.1.58/shared on /mntd failed: Input/output error

后续又尝试把shared的权限改成和sharec相同,也不成,也许是Windows 10的某个安全策略有关,也许是我的移动硬盘有关,以后有了对比的条件后再记录。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。