docker数据管理之数据卷简介

docker数据管理之数据卷简介

数据卷是什么

就是将宿主机的某个目录与容器中的某个目录作映射对应关系

数据卷(Data Volumes):容器内数据直接映射到本地主机环境

数据卷特性

  1. 数据卷可以在容器之间共享和重用,本地与容器间传递数据更高效
  2. 对数据卷的修改会立马有效,在容器内部与本地目录均可对数据卷进行修改
  3. 对数据卷的更新,不会影响镜像,对数据与应用进行了解耦操作
  4. 卷会一直存在,直到没有容器使用

docker 数据卷命令详解

关于数据卷的管理我们从两个方面来说:

  1. 目录
  2. 普通文件

数据卷实践之目录

命令格式:
docker run -itd --name [容器名字] -v [宿主机目录]:[容器目录][镜像名称] [命令(可选)]

注:

  1. 宿主机目录需要绝对路径
  2. 我们可以使用命令 docker run 用来创建容器,可以在使用docker run 命令时添加 -v 参数,就可以创建并挂载一个
    到多个数据卷到当前运行的容器中。
  3. -v 参数的作用是将宿主机的一个目录作为容器的数据卷挂载到docker容器中,使宿主机和容器之间可以共享一个 目录,如果本地路径不存在,Docker也会自动创建。

演示:

#启动一个容器,挂载数据卷:
$ docker run -itd --name test1 -v /home/itcast/tmp/:/test1/ nginx

数据卷实践之文件

命令格式:
docker run -itd --name [容器名字] -v [宿主机文件]:[容器文件][镜像名称] [命令(可选)]

命令演示:

#启动一个容器,挂载数据卷
$ docker run -itd --name test2 -v /home/itcast/tmp/file1.txt:/nihao/nihao.sh nginx

注意

  1. Docker挂载数据卷的默认读写权限(rw),用户可以通过ro设置为只读

    格式:[宿主机文件]:[容器文件]:ro

  2. 、如果直接挂载一个文件到容器,使用文件工具进行编辑,可能会造成文件的改变,从Docker1.1.0起,这会导致
    报错误信息。所以推荐的方式是直接挂在文件所在的目录。

posted @ 2020-11-07 21:29  TR_Goldfish  阅读(174)  评论(0编辑  收藏  举报