【docker】- docker数据卷技术

之前我们聊过docker的基本使用,我们通过docker命令部署了tomcat哈,也看到了我们熟悉的汤姆猫,但是哈,docker的功能远不止于此,今天来说说docker的数据卷
我们先来分析一下,不使用会有什么影响,大伙都知道,我们的war包呢在webapp下存放,那么如果我们需要迭代版本,就要修改原来的包,docker启动后是一个小型容器,即我们要进入容器,换掉旧包,那么我们来操作一下吧

回顾&环境搭建

首先启动一个tomcat
在这里插入图片描述
然后调整容器中的webapp文件,先看到我们熟悉的汤姆猫,上篇文章说过,默认是空的
在这里插入图片描述
机器ip是10.10.10.10,访问10.10.10.10:8080
在这里插入图片描述
我们把里面的文件简洁一下

  • 删掉所有文件
  • 创建test工程
  • 创建index.html文件,随便写点东西
    在这里插入图片描述

看看效果
在这里插入图片描述

言归正传

现在我们要升级,新的包内容是Hello Tomcat-2!

那么就要把新的包复制到容器中/usr/local/tomcat/webapps下,我们来操作一下

这个文件已经准备好了,在任意目录创建test工程,里面创建index.html文件,内容为Hello Tomcat-2!,(模拟项目哈,这不是重点)

在这里插入图片描述
将这个项目复制到容器中

命令:

docker cp 文件 容器id:路径

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i5qL1VXQ-1675755672508)(pictures/image-20230207142825982.png)]
看看页面,已经更新了

在这里插入图片描述
存在问题:

  1. 可以实现、但是较麻烦
  2. 还需要知道容器内文件的路径
  3. 查看日志不方便,需要进入容器查看

那么有没有一种简单的方式呢,容器之间有一种数据共享技术,将容器中的数据挂载到宿主机上,这就是卷技术,简单来说,卷技术能够让你的宿主机与容器中的两个目录文件保持一致,类似于双向绑定

删掉旧的,重新创建容器,并挂载数据卷

命令,挂载两个卷,一个是项目目录,一个是日志目录

docker run -d -p 8080:8080 -v /root/test:/usr/local/tomcat/webapps/test -v /root/tomcatlogs:/usr/local/tomcat/logs --name cxs-tomcat-demo tomcat:9

在这里插入图片描述
查看页面,发现还是之前的
在这里插入图片描述
那现在我们将文件改成Hello Tomcat-3!就简单了,直接修改宿主机挂载的/root/test目录下的内容即可,docker会自动同步到容器中
在这里插入图片描述
效果
在这里插入图片描述
我们来看一下服务日志吧
在这里插入图片描述
结语

  • 数据卷极大的减少了我们的工作量
  • docker内容还有很多,网络、容器编排,后续会持续更新
  • 公众号:全栈小白
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

全栈小白.

感谢老板,祝老板今年发大财!

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

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

打赏作者

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

抵扣说明:

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

余额充值