docker(四)docker容器目录挂载

107 阅读2分钟

如题,docker容器目录挂载,这个是什么意思呢?

 

简单讲,就是跟我们之前学过的docker cp 命令有点关系,什么情况呢?我们添加文件的时候,需要先上传文件到宿主机,再使用docker cp命令将文件从宿主机复制到docker容器中。好麻烦啊,这要是一个集群,想想都崩溃。

 

还好,docker为我们提供了容器目录挂载,简单讲就是通过与宿主机的目录关联,上传至宿主机对应目录的文件直接也上传到了docker容器的对应目录中。这就很方便。

 

命令呢也很简单

一:普通挂载

docker run -it -v /path/on/host:/path/in/container dockerID/容器名称

 

二:多个目录挂载

docker run -it -v /path/on/host:/path/in/container -v /path/on/host:/path/in/container -v /path/on/host:/path/in/container -v /path/on/host:/path/in/container dockerID/容器名称

就是多个 -v就可以。

 

三:只读挂载

docker run -it -v /path/on/host:/path/in/container:ro dockerID/容器名称

对你没看错,就是在容器目录后边加一个ro即可。这样就代表在docker容器中这个目录下的文件就不可以被更改了,通常配置文件目录需要这么设置。

 

四: 查看挂载的卷或绑定挂载

docker inspect -f '{{ .Mounts }}' 容器名称或者ID

 

五:centos权限问题

如果同步的是多级目录,可能会出现权限不足的提示。

这是因为centos中的安全模块selinux把1权限给禁掉了,我们需要添加 –privileged=true来解决挂载的目录没有权限的问题。

 

以上大概就是docker容器目录挂载的基本了解

 

有好的建议,请在下方输入你的评论。