V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
spkinger
V2EX  ›  Docker

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

  •  
  •   spkinger ·
    spkinger · 2015-07-16 14:05:46 +08:00 · 13399 次点击
    这是一个创建于 3421 天前的主题,其中的信息可能已经有所发展或是发生改变。

    说个最近才明白的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这个虚拟机每次重启不属于它的都会还原。
    求解决办法。

    4 条回复    2019-08-13 10:32:29 +08:00
    spkinger
        1
    spkinger  
    OP
       2015-07-20 08:43:07 +08:00
    请问有了解的吗,给个思路也可以?
    spkinger
        2
    spkinger  
    OP
       2015-07-22 11:48:10 +08:00   ❤️ 1
    方法2已有答案,添加共享文件夹时不勾选自动挂载即可。
    然后新建卷的时候用-v挂载即可,即使重启windows也没事。
    新建容器
    sudo docker run -dit -v /data_share:/data_share spkinger/ubuntu_lnmp:v12 /bin/bash
    重启后
    sudo docker start [容器名称]
    即可
    niknik
        3
    niknik  
       2019-08-13 10:32:08 +08:00
    这么优秀
    niknik
        4
    niknik  
       2019-08-13 10:32:29 +08:00
    大佬,我也死在这儿了,四年了,你还在吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5534 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 06:39 · PVG 14:39 · LAX 22:39 · JFK 01:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.