4.docker数据卷.md 1.5 KB

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”。
1> 关闭selinux。

临时关闭:# setenforce 0

永久关闭:修改/etc/sysconfig/selinux文件,将SELINUX的值设置为disabled。

2> 以特权方式启动容器

指定--privileged参数

如:# docker run -it --privileged -v /test:/soft centos /bin/bash