Docker容器学习六之Volume

一、Volume

当我们在编写Dockerfile文件时,会有这么个语句VOLUME这个语句的意思就是在容器和宿主机中建立一个共享目录,也就是容器可以把数据保存到这个目录下。这也是docker中容器数据持久化保存的一种方式。

那么如何去使用这个Volume呢?我们先来做个小实验,这个实验是这样的,我们创建一个带有jdk的镜像,并与主机共享一个目录"/usr/mydata",然后把打包好的一个应用放在这个目录下,之后启动容器,并在这个目录下去运行应用,此时我们从容器中取创建一个文件,再回到宿主机中取查看当前文件是否创建成功,当我们删除这个容器之后,再看看文件是否存在。

第一步:创建镜像

FROM openjdk:8
LABEL author="cainiao1024"
VOLUME /usr/mydata
CMD []

容器依赖Java环境,然后指定一个共享目录,此时,docker build -t myvolume .就会构建好一个镜像
在这里插入图片描述
第二步:把准备好的Java应用复制到/usr/mydata目录下
第三步:启动容器,并执行当前的Java程序
在这里插入图片描述
如图所示,当我启动容器并执行我们添加好的应用,发现可以成功执行,说明当前挂载成功。
第四步:从容器中在共享目录下创建文件my.txt
在这里插入图片描述
此时回到,宿主机中的/usr/mydata目录下查看文件也创建好了
在这里插入图片描述
我们再反向操作一下,在宿主机中创建一个host.txt文件并添加内容 hello volume,然后再回到容器中查看当前文件内容是否可以得到。
在这里插入图片描述
宿主机中已经创建好,此时在容器中查看,也可以得到文件内容
在这里插入图片描述
第五步:删除容器,然后再重启,继续查看文件是否存在,重启后发现还是可以得到输出内容
在这里插入图片描述
经过以上认证,说明我们可以指定一个宿主机中的目录来保存容器中的数据,也可以把物理主机中的文件发送给容器。

注意: 在我们启动容器时需要指定-v参数 ,也就是指定宿主机中的目录和容器中的目录的对应关系

二、volume操作

Docker中也实现了对Volume的相关操作,可以使用docker volume指令来创建删除一个挂载点
在这里插入图片描述
实例:
在这里插入图片描述
创建了一个myvolume的挂载点,查看这个volume时发现他在宿主机中的"/var/lib/docker/volumes/myvolume/_data"目录下,所以我们可以把我们想要保存的或者发送的数据都可写作这个目录下进行操作。

三、总结

本文简单学习了关于Volume的相关知识,后续将进一步学习Docker中的其它知识。

以上,有任何不对的地方请指正,谢谢!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

菜鸟+1024

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

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

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

打赏作者

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

抵扣说明:

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

余额充值