为了账号安全,请及时绑定邮箱和手机立即绑定

「Docker学习系列教程」9-Docker容器数据卷介绍

标签:
JAVA

通过前面8篇文章的学习,我们已经学会了docker的安装、docker常用的命令已经docker镜像修改后提交的远程镜像仓库及提交到公司的私服仓库中。接下来,我们再来学学Docker另外一个重要的东西-容器数据卷。

我们先来看看一个场景:我们有多个docker容器需要使用到同一个数据,比如说A服务和B服务都需要使用到数据库D,在数据库容器D销毁后,重启,数据库中的数据不能够丢失。我们通过前面的学习已经知道了,容器如果被销毁后再重启,这个时候,容器中的原有数据就丢失了,那么这种情况下,数据库容器D中存储的数据应该放在哪里?容器自身?如果存在容器自身肯定不行,那如果存放在非容器中,那么在容器中怎么能访问到?能不能像Linux一样,可以直接挂载盘符呢?答案是肯定有的。就是本文介绍的Docker容器数据卷。好了,接下来,咱们就来开始学习这个。

https://img3.sycdn.imooc.com/63954bd100019dda05530218.jpg

大家好,我是凯哥Java(kaigejava),乐于分享,每日更新技术文章,欢迎大家关注“凯哥Java”,及时了解更多。让我们一起学Java。也欢迎大家有事没事就来和凯哥聊聊~~~

先填坑:容器卷记得加入以下参数:

--privileged-true

为什么需要加这个呢?

https://img2.sycdn.imooc.com/63954c1500013dd205530118.jpg

回顾下启动私服命令:

docker run -d -p 5000:5000 -v /n/myregistry/:/tmp/registry --privileged=true registry

 

其中 -v 后面的是什么?

-v:添加自定义的容器卷

冒号左边:宿主机的路径(docker的路径==>也就是凯哥的虚拟机中的路径)

冒号右边:容器内的路径(容器内的路径==>也就是私服容器所在镜像路径)

--privileged=true:放开权限。

理解如下图:

https://img2.sycdn.imooc.com/63954c1a0001f11805530364.jpg

容器卷是什么?

https://img3.sycdn.imooc.com/63954dab000106b305530058.jpg

https://img3.sycdn.imooc.com/63954daf0001966705530091.jpg

运行一个带有容器卷存储功能的容器实例命令公式

docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名称

能干嘛?

持久化

特点:

1:数据卷可在容器之间共享或者是重用数据

2:卷中的更改可以直接实时生效

3:数据卷中的更改不会包含在镜像的更新中

4:数据卷的周期一直持续到没用容器使用它为止

https://img2.sycdn.imooc.com/63954db40001ce7905530207.jpg




点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消