老师,关于VOLUME的一点疑问

来源:9-1 课程总结

KeithTt

2018-07-02

据我所知,VOLUME有两种挂载方式:

1、不创建数据卷,直接把本地目录挂载到容器内的目录。这种方式优点明显,就是本地数据跟容器内的数据是同一份数据,完全同步,非常方便开发环境使用。

2、创建数据卷,需要在Dockerfile里面使用VOLUME指令创建容器内的挂载点。

疑问在第二种上面,我感觉第一种方式是可以满足各种需求场景的,数据迁移的话直接移动数据目录就可以了。

第二种情况下:

1、docker volume可不可以直接移动数据卷创建的本地文件目录?

2、如果不在Dockerfile里面使用VOLUME指令创建挂载点会怎样?上课的时候没有说到这一点,直接就是 -v Volume:ContainerDir 这样启动各个容器的,好像并没有什么问题,那么Dockerfile里面的VOLUME指令是不是没有作用?另外volume是可以不用事先创建的,运行的时候直接指定名字会自动创建。。

3、什么场景下必须创建volume,而不是挂载本地目录?

感谢老师!!!

写回答

2回答

神思者

2018-07-02

同学你好。数据卷是比目录挂载更高级的方案,数据卷可以在同时在多个容器间共享,而且我们还可以把构建数据卷的命令写到dockerfile里面。比如在数据卷中创建什么目录,创建什么文件都可以在dockerfile中规定,这样dockerfile在其他主机上构建的时候就自动构建出了数据卷。本地映射目录就得自己去弄初始化工作了。另外,PXC是不支持本地目录挂载的,只支持数据卷。

0
7
KeithTt
回复
神思者
好的,非常感谢老师!!
2018-07-02
共7条回复

神思者

2018-07-02

数据卷是自动创建的,可以不提前创建

0
1
KeithTt
好的,谢谢老师!
2018-07-02
共1条回复

Docker环境下的企业级前后端分离项目部署与运维

手把手带你学会项目分布式集群部署,让你的系统不再惧怕宕机

2459 学习 · 1018 问题

查看课程