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



首先docker容器的Linux对Windows支持并不是很高,他只对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



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