简介

在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以实现宿主机和容器目录的双向自动同步

作用

Docker可以使用cp命令来实现数据传递,这种方式非常麻烦,通过容器目录挂载,能够轻松实现代码上传,配置修改,日志同步等需求

命令

单个目录

拥有全部权限

1
docker run -it -v  /宿主机目录:/容器目录 镜像名

挂载目录只读

1
docker run -it -v  /宿主机目录:/容器目录:ro 镜像名

多个目录

拥有全部权限

1
docker run -it -v /宿主机目录:/容器目录 -v /宿主机目录2:/容器目录2  镜像名

挂载目录只读

1
docker run -it -v /宿主机目录:/容器目录:ro -v /宿主机目录2:/容器目录2:ro  镜像名

注意

同步的是多级目录,可能会出现权限不足的提示,这是因为Centos7中的安全模块selinux把权限禁掉了,我们需要在命令的后面添加--privileged=true来解决挂载的目录没有权限的问题

PS.

一般来说,都是创建容器时进行目录挂载,对于已经创建好的容器如果忘了挂载目录但是又想挂载目录,方法有两种:①提交这个容器为新的镜像,然后创建这个新镜像的容器同时进行目录挂载(此方式较简单)②修改这个容器的配置文件

具体步骤查看博客:Docker修改已创建容器的挂载目录