Docker数据管理-容器数据卷

Docker数据管理-容器数据卷

什么是容器数据卷

数据卷是一个可供容器使用的特殊目录,它绕过文件系统,可以提供很多专用的特性:

  • 数据卷可以在容器之间共享和重用

  • 对数据卷的修改会立马生效

  • 对数据卷的更修不会影响镜像

  • 数据卷会一直存在知道没有容器使用

数据卷的使用类似于Linux下对目录或者文件进行mout操作。数据的持久化应该在本地服务器而不是在容器内。数据卷就可以实现目录的挂载,容器用于计算,数据回归本地存储!

在这里插入图片描述

使用数据卷

使用命令进行挂载 -v

docker run -it -v #主机目录地址:容器目录地址
#测试
docker run -it  -v /home/test:/home centos /bin/bash
# 启动之后可以通过docker inspect 容器id查看容器的详细信息

在这里插入图片描述

测试文件的同步
在这里插入图片描述

安装mysql

#获取镜像
[root@VM-4-17-centos /]# docker pull mysql:5.7
# 运行容器并做数据挂载  安装启动mysql需要配置密码

-d 后台启动
-p 端口映射
-v 数据卷挂载
-e 环境配置
-- name 容器名称
[root@VM-4-17-centos home]# docker run -d -p 3336: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

#启动成功之后使用mysql连接工具进行连接

在这里插入图片描述

#在本地测试新建一个test数据库,查看映射的路径是否正确

在这里插入图片描述

在这里插入图片描述

#讲mysql容器彻底删除 再次进入mysql/data目录,test文件夹还是存在,即挂载到本地的数据卷依旧没有丢失
[root@VM-4-17-centos /]# docker rm -f mysql01

具名挂载和匿名挂载

所有的docker容器内的卷,没有指定目录的情况下都是在 目录。
在这里插入图片描述

#如何区分是具名挂载还是匿名挂载
-v 容器内路径   			 #匿名挂载
-v 卷名:容器内路径    		#具名挂载
-v /宿主机路径:容器内路径   #指定路径挂载
#docker挂载的数据卷默认权限是读写(rw),用户也可以通过(ro)指定为只读,说明只能通过宿主机进行数据修改
[root@VM-4-17-centos /]# docker run -d -p --name nginx01 -v /home/nginx:/etc/nginx:ro nginx
#加了ro之后容器内挂载的数据卷的数据就无法修改了
  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拉霍拉卡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值