# 1、基本概念 数据卷就是宿主机上的一个文件或目录 当容器目录和数据卷(宿主机)目录绑定,双方修改会立即同步操作 一个数据卷可以被多个容器同时挂载 数据卷作用:容器数据的持久化 外部机器和容器间接通信 容器之间数据交换 使用 -v命令。 # 2、数据卷添加的方式 容器内与宿主机实现数据的共享 数据卷--添加两种方式 1. 直接命令形式添加 docker run -it -v 宿主机绝对路径目录:容器内目录 镜像文件名称 2. Dockerfile方式添加 # 3、数据卷的使用细节 1. 如果宿主机没有对应的目录,那么就会自动创建它 2. 不论宿主机有没有目录和文件,容器内部的目录都会被覆盖 3. 挂载成功后,如果修改挂载文件的内容,容器内的文件不会实时更新,需要重启容器。如果修改的是挂载目录下的文件,则会实时更新,所以推荐挂载目录 4. 容器目录不可以为相对路径 5. 如果只是-v指定一个目录,会挂载的是宿主机上的/var/lib/docker/volumes/test1/_data目录。这是随机生成的 6. 挂载宿主机已存在目录后,在容器内对其进行操作,报“Permission denied”。 ```shell 1> 关闭selinux。 临时关闭:# setenforce 0 永久关闭:修改/etc/sysconfig/selinux文件,将SELINUX的值设置为disabled。 2> 以特权方式启动容器 指定--privileged参数 如:# docker run -it --privileged -v /test:/soft centos /bin/bash ```