提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
在使用docker部署时,我们如果要改变一些配置项目,不可能每次都进入容器中修改文件。所以需要用到目录挂载或者卷映射来简化操作。
提示:以下是本篇文章正文内容,下面案例可供参考
一、目录挂载
目录挂载可以把容器内的目录与主机的目录联系起来,当一方中有改动时另一方也会改动。
1.命令
目录挂载的设置是在启动容器时设置的,只要使用
docker run -v 主机目录:容器目录 容器名
即可
2.案例
我们把nginx容器中网页文件存放的路径与主机中的目录挂载上
3.补充
使用目录挂载时,是以主机目录为准,就是当主机目录与容器目录挂载后,会把容器目录清空,然后把主机目录的文件复制进去。
但这样就会遇到一个问题:如果以此种方式来挂载容器的配置文件目录,则会导致容器启动失败,因为像是mysql或nginx这种容器,在启动时候都需要使用到配置文件完成启动,如果配置文件目录被主机空目录挂载,则启动时容器需要用的配置文件也就找不到了,因此无法成功启动容器。
但也不绝对,如果我们提前在主机目录中提供好配置文件就可以解决这个问题。或者使用卷映射,请看下一节。
二、卷映射
1.命令
卷映射同样在容器启动时使用-v参数来进行配置,但写法与目录挂载有所不同。
docker run -v 卷:容器路径
这里用“卷”来代替原本的主机目录,卷只是一个名称,不能写为路径的形式,最终会在固定路径生成与卷同名的目录,并在里面存放从容器中复制出来的所有数据。
2.案例
这样我们直接修改卷中的文件即可完成配置文件的修改
总结
本章简单介绍了docker部署时的目录挂载和卷映射的概念。