大家是如何在 docker 中和 windows 共享文件的(尝试了 samba 和 virtualbox 的共享文件夹,效果不太理想)

2015-07-16 14:05:46 +08:00
 spkinger

说个最近才明白的docker原理:windows中docker本身就是一个虚拟机,然后容器是又虚拟了一层。然后外部如果想访问web服务,先要在启动容器时用-p 映射端口给docker虚拟机,然后在virtualbox的网络设置中再加个端口映射(下面链接有具体操作)
1.我尝试了samba,具体方法如下:http://note.youdao.com/share/?id=7052404ef693c784bb35db2e5ee768d1&type=note
但是它有个弊端,就是每次机器重启,samba服务就关闭了,还要重新执行下docker run --rm -v /usr/local/bin/docker:/docker -v /var/run/docker.sock:/docker.sock svendowideit/samba my-data
求助不需要每次都执行的方法。
已知docker容器自动重启的方法(可实现自启动):就是用--restart=always
例子:sudo docker run -dit --restart=always --volumes-from spk-data xxx/ubuntu
2.是使用virtualbox的共享文件夹
先给docker虚拟机添加一个共享文件夹
在docker虚拟机里执行
sudo mkdir data_share
sudo mount -t vboxsf data_share /data_share
然后新建卷挂载这个目录,但是重启后依然无效。貌似docker这个虚拟机每次重启不属于它的都会还原。
求解决办法。

13422 次点击
所在节点    Docker
4 条回复
spkinger
2015-07-20 08:43:07 +08:00
请问有了解的吗,给个思路也可以?
spkinger
2015-07-22 11:48:10 +08:00
方法2已有答案,添加共享文件夹时不勾选自动挂载即可。
然后新建卷的时候用-v挂载即可,即使重启windows也没事。
新建容器
sudo docker run -dit -v /data_share:/data_share spkinger/ubuntu_lnmp:v12 /bin/bash
重启后
sudo docker start [容器名称]
即可
niknik
2019-08-13 10:32:08 +08:00
这么优秀
niknik
2019-08-13 10:32:29 +08:00
大佬,我也死在这儿了,四年了,你还在吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/206102

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX