继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

凯哥Java
关注TA
已关注
手记 111
粉丝 13
获赞 23

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

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

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

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

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

--privileged-true

为什么需要加这个呢?

http://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:放开权限。

理解如下图:

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

容器卷是什么?

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

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

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

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

能干嘛?

持久化

特点:

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

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

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

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

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




打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP