shynome / shynome.github.io

8 stars 0 forks source link

docker 挂载 windows 共享文件夹 #13

Open shynome opened 5 years ago

shynome commented 5 years ago

先用 linux 下的挂载命令试试能不能挂载上去

mount -t cifs -o 'username={{username}},password={{password}}' //{{192.168.31.2}}/{{sharedir}} {{/moutdir}}

如果挂载不上, 大概率是 windows 的防火墙拦住了 可参考这个链接: https://blog.csdn.net/zz460833359/article/details/48718727 避免链接失效, 我就在这边拷贝一份:

1. 解决跨网段 ping 不同的问题

进入WIN7控制面板----管理工具---高级安全 WINDOWS 防火墙,然后选择入站规则 在右边操作里选择新建规则。 选择创建规则类型---自定义,----------应用于,所有程序--------协议类型选 IPV4------INTERNET控制消息协议ICMP -点击自定义选择特定类型----回显请求---确定。------一直下一步,最后输入名程。

2.解决跨网段共享

右下角网络图标上点右键----打开网络和共享中心--------左边WINDOWS防火墙---然点点允许程序或功能通过防火墙 --------勾选 NETLOGON服务全部-------------勾选 文件和打印机共享 全部-------确定。完成操作!

解决了 windows 跨网段共享的问题之后再尝试挂载应该就行

接下就是创建容器卷

docker volume create \
     --driver local \
     --opt type=cifs \
     --opt device=//{{192.168.31.2}}/{{sharedir}}  \
     --opt 'o=username={{username}},password={{password}},file_mode=0777,dir_mode=0777' \
     --name code_on_windows

最后进行验证, 这时命令行会输出windows 下的文件了

docker run --rm -v code_on_windows:/code alpine ls /code
shynome commented 5 years ago

本来想用来做 windows 上开发代码, 服务器上重新编译, 可惜 onSave 事件好像在这种共享文件夹上触发不了