Docker 数据卷

Posted on 2022-06-02 22:43  坏小子61  阅读(24)  评论(0)    收藏  举报

什么是容器数据卷?

  Docker容器中产生的数据同步到本地,这就是卷技术,目录的挂载,将我们容器内的目录,挂载到宿主机上!

 

使用数据卷

  方式一:使用命令挂载 -v

    docker run -it  -v 主机目录:容器内目录

  方式二: 

    Dockerfile:用来构建docker镜像的构建文件!

    

 

 

实战:mysql

   获取镜像:

    docker pull mysql:5.7

   运行容器数据挂载:

    官网命令:docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

    docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name=mysql01 mysql:5.7

    -d 后台运行

    -p 端口映射

    -v 卷挂载

    -e 环境配置

    --name 容器名字

 

如何确定是具名挂载还是匿名挂载,还是指定路径挂载

-v 容器内路径  # 匿名挂载

-v 卷名:容器内路径  #聚名挂载

-v /宿主机路径:容器内路径 # 指定路径挂载

 

扩展:

  通过-v 容器内路径:ro  /  rw 改变读写权限

  ro readonly  # 只读

     rw  readwrite  # 可读可写

  # 一旦设置了这个权限,容器对我们挂载出来的内容就有了限定!!(针对容器来说)

  docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx/ro nginx

  docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx/rw nginx

 

  ro 只能通过宿主机改变,容器内部不能操作