docker: 容器数据卷的基本操作(wsl)

什么是容器数据卷?

docker理念回顾:

将应用和环境打包成一个镜像!

如果我们所有的数据都存储在容器中,当我们删除了容器,数据就会丢失 ! 需求:数据持久化

容器之间可以有一个数据共享的技术! docker容器中产生的数据,同步到本地!

就是数据卷技术!实际上就是:目录的挂载,将我们容器内的目录,挂载到Linux上面!!

总结一句话:容器的持久化和同步操作!

如何进行目录挂载

挂载的操作是对于images镜像的,Windows的挂载必须加上盘符

docker run -it -v /c/tomcatMount:/usr/local/temp 24207ccc9cce

使用docker inspect 容器id查看挂载的结果:

当容器内创建新的文件时,在Windows上的目录下就会同步创建

 安装挂载 mysql

将mysql的配置文件和data数据挂载出来,注意mysql需要配置密码,使用 -e 环境配置

docker run -d -p 3310:3306 -v /d/home/mysql/conf:/etc/mysql/conf.d -v /d/home/mysql/data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=root  --name mysql-01 c20987f18b13

使用navicat测试是否能连接

具名挂载

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

-P 随机映射端口

juming-nginx : 前面没有加斜杠,所以表示的是为volume取一个名字 

-v 卷名:容器内路径

使用docker volume ls查看

如何区分是具名挂载还是路径挂载

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

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

拓展

ro: read only 只读

rw : 读写权限

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

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

多个mysql实现数据共享:

docker run -d -p 3310:3306 - e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7

docker run -d -p 3310:3309 - e MYSQL_ROOT_PASSWORD=123456 --name mysql02 --volumes-from mysql01 mysql:5.7

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

你在狗叫什么、

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

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

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

打赏作者

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

抵扣说明:

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

余额充值