说个最近才明白的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这个虚拟机每次重启不属于它的都会还原。
求解决办法。
1
spkinger OP 请问有了解的吗,给个思路也可以?
|
2
spkinger OP 方法2已有答案,添加共享文件夹时不勾选自动挂载即可。
然后新建卷的时候用-v挂载即可,即使重启windows也没事。 新建容器 sudo docker run -dit -v /data_share:/data_share spkinger/ubuntu_lnmp:v12 /bin/bash 重启后 sudo docker start [容器名称] 即可 |
3
niknik 2019-08-13 10:32:08 +08:00
这么优秀
|
4
niknik 2019-08-13 10:32:29 +08:00
大佬,我也死在这儿了,四年了,你还在吗
|