写文章

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

2022-12-11 11:25:06

79 | 0 | 0

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

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


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

直通车,本系列教程已发布文章,快速到达,《Docker学习系列》教程已经发布的内容见章末哦~

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

--privileged-true

为什么需要加这个呢?


回顾下启动私服命令:

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

 

其中 -v 后面的是什么?

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

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

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

--privileged=true:放开权限。

理解如下图:


容器卷是什么?



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

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

能干嘛?

持久化

特点:

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

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

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

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


首发于:凯哥Java。欢迎大家关注公众号->凯哥Java(kaigejava)

直通车,本系列教程已发布文章,快速到达,《Docker学习系列》教程已经发布的内容如下:

【图文教程】Windows11下安装Docker Desktop

【填坑】在windows系统下安装Docker Desktop后迁移镜像位置

【Docker学习系列】Docker学习1-docker安装

【Docker学习系列】Docker学习2-docker设置镜像加速器

【Docker学习系列】Docker学习3-docker的run命令干了什么?docker为什么比虚拟机快?

【Docker学习系列】Docker学习2-常用命令之启动命令和镜像命令

【Docker学习系列】Docker学习系列3:常用命令之容器命令

【Docker学习系列】Docker学习4-常用命令之重要的容器命令

【Docker教程系列】Docker学习5-Docker镜像理解

【Docker教程系列】Docker学习6-Docker镜像commit操作案例

【Docker学习教程系列】7-如何将本地的Docker镜像发布到阿里云

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?

【Docker学习教程系列汇总】笔记及遇到问题解决文章


0

收藏
分享