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

2022/12/14 4:24:07

本文主要是介绍「Docker学习系列教程」9-Docker容器数据卷介绍,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

通过前面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






这篇关于「Docker学习系列教程」9-Docker容器数据卷介绍的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程