Docker之docker volume 挂载到容器(Windows下,volume目录挂载在容器、四)(第十四篇) - Go语言中文社区

Docker之docker volume 挂载到容器(Windows下,volume目录挂载在容器、四)(第十四篇)


前2篇都是相对于docker的运行环境Linux而来的,但是我们现实环境中,开发环境中都是使用的是Windows,所有很有必要学会在Windows下挂载容器,如果你自己的机器也是Linux,那就不需要担心什么了,直接和上面一样,但是你如果是Windows系统,那么就有点麻烦了,具体怎么操作,看一下我的案例吧。

首先docker容器的LinuxWindows支持并不是很高,他只对C:Users 目录下进行挂载,其他目录都没有办法挂载,除非用VirtualBox修改这个虚拟机的共享目录设定,否则在虚拟机里只能看到C:Users以下的文件


可以看到Linux系统只有关联到本地C:Users这个目录,其他的目录都找不到,那么我们就在这个目录下进行挂载操作

 docker run -d -p 8888:8080 -v /c/Users/systemDir:/usr/local/log balance


我们看到已经能够完美的挂载了,其他实验方法可以自行测试。

其实Windows下最主要的是要找对位置,其他的逻辑和之前的是一样的,还是Windows下的docker是在一个Linux虚拟机环境下运行的,这一点非常重要!

volume/数据卷容器(--volumes-from)

创建的方式所谓有一点不同,就是要在挂载的文件下创建一个数据卷容器,专门用户其他容器挂载,但是操作起来和挂载差不多,就是多了一个创建db.properties 文件

比如在挂载目录/data 下面创建一个/data/dbdata,然后再在里面创建一个db.properties 文件

首先启动一个容器

docker run -it -d -p 8888:8080 -v /data/dbdata --name dbdata  balance

/data/dbdata,然后再在里面创建一个db.properties 文件

然后再起一个容器

docker run -it -d -p 9999:8080 --volumes-from dbdata jpress

使用命令docker inspect时,发现他们的Mounts下的Source都是一样的,说明它们都绑定到宿主机的同一个目录,所以当某个容器的挂载修改时,其他容器也看到了同样的效果

Dockerfile 文件构建的时候设置volume

VOLUME /data

这家就不需要每次启动容器的时候再指定挂载目录了



版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/LOVELONG8808/article/details/80496905
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 18:07:34
  • 阅读 ( 1331 )
  • 分类:docker

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢