00:00
这就是怎么去定义我们的容器的自管理卷。以及。容器制管理这样的一些特性。需要大家注意一下。好。那又会有疑问了,那我每次都删除我们的容器的话,这些次管理卷都存在,并且不会删除。那这也太费事了,我没事,是不是要定时的过来清空啊?首先容器的字管理卷在我们定义镜像的时候就会去定义这个目录,就代表了这个目录下的数据是非常重要的,默认不删除这是一个合理选项,对吧?那如果这是一个MYSQL数据库,你默认删除还得了吗?所以默认不删除是一个合理选项。但是如果我想删怎么办呢?其实命令里是有的,比如我们do run杠杠name起一个test杠地方台,后台运行叫test冒号V2.0版本。
01:01
启动成功以后呢,这里又会多了一个圈对吧,三个了,那如果我们想删除容器的时候,一起把这个数据键给删除,加个杠V即可,Do run杠杠啊do m-F,杠F是强制删除对吧?加个V-V,我们删除的是泰达回车。那我们iOS看一下。看到了吗?那这个九亿三的这个券,我们的泰大的。我们的持久化卷是不是就没有了,对吧?这是我们的第一种容器的自管理卷。好,那接下来我们继续往后看。第二种叫做绑定卷,也就是个人操作的,对吧,要借助的命令就是杠V,看到了吗?杠v host迪以及wall,也就需要我们去告诉他你的。主机的某个目录和我们的容器的内部目录,我们过来看一下,好,首先我们去docker run杠杠name。
02:04
TEST1我们把后面的容器都给删了吧,容器是空的对吧?然后我们再到把下的LA下的刀下的W龙下,我们把这些也给删了。都让它变空都没了对吧?好,那现在我去启动do run,杠杠name test1-D放大后台运行test冒号V1.0,这个版本的容器是不带我们的容器是管理卷的,对吧?那我们iOS看一下当前没有。那如果像这种类似的镜像,它不带容器制管理券,我又想让他用,怎么办呢?那就自己添加对吧,那比如我们再起一个叫T的1.1啊幺幺吧,杠V。比如我想在我们的本地的宿主机的Q一下的带下。
03:02
创建一个与之对应的管理卷,比如我们去跟下get一下,我们看一下,对吧,肯定是没问题的,好,那我继续往后写,那我们再重新倒个run一下。叫太子一杠V,我想把我的数主机的跟下的data与之到容器内部的跟下的data与之绑定,我们看行不行,对吧?飞车启动成功了,那首先我先到我们的宿主机下的跟下的data创建一个我的名字。创建成功以后,我们再进入到这个容器ESEC-it。叫test一并下的,BA进来以后呢,我们到他的根下的data,我们los看一下。说明什么?说明我数主机的根下的data与容器的内部的根像data是不是已经完成绑定,当我这里用了两个名字都是一样的,你说用不一样的行不行,完全没问题对吧?没什么影响。
04:08
这是怎么去自己去定义容器启动的时候让两个不同的卷与之对应匹配。好,那又会来一个问题,对吧,如果如果。我既在代购费用中写了我们的W,也就是有声明了容器自管理卷的。就是持久化目录,我又加了杠V自定义,它到底哪个会生效呢?我们看一下对吧,好,首先我们到挖下的lab下刀下wall了姆斯下,下面是没有里面没有任何数据的,对吧?那我们现在到wrong杠杠name。起的是大。然后杠V,我们把当前的根下的datat绑定到容器内部的datat,注意注意,我现在用到的镜像是test v2.0,也就是我们刚才做的带我们的W的这么一个版本,理论上这个de是不会被放在我们的这个目录中随便创建一个目录以及绑定,对吧?
05:13
随机不能讲随便对吧,随机好,但是我现在又声明了,我需要拿根下的鱼值绑定,那这个目录里面的随机目录还会生出,还会还会产生吗?我们过来看一下启动。啊,没有加杠D对吧。那我们就放着放着吧。好,那我们倒一下,One下的,Lab下的,刀下,乌下看到了吗?底下并没有任何。新建出来的随机目录对吧?好,那我们再到我们的更新下的data目录下,我再去创建一个我们的沈超老师,那do eec-IB下的BA好容庆明呢,叫我们的test,那我们CD到根下的de下,我们iOS看一下。
06:09
看到了吗?也就意味着,当我们既自定义了你需要容器自管理的某个目录,又在启动的时候,去指定了我们的。自己绑定的券,那他会按照管理员的自绑定券先生效。原因是这个优先级更大对吧?很好理解,那这是我们的自保定卷。好,我们把它给清一下,Do m-f do PS-I-Q。那这两个卷我们都已经讲完了,对吧,那我现在给大家先提个问题。
07:05
如果我现在有两个容器,一个是T1,一个是T拉。他们想要。之间的某个目录进行共享。怎么做?有些人会说,哎,我现在T1里面。比如TEST1里面的data和TEST2里面的data需要数据共享,这个在我们的服务中很常见,对吧?那我们应该怎么做?有些人可能会说了,哎,我们可以在我们的这个DO1DO1中。一镜像中我们就起一个NFS服务,然后在二中我去把它给呱拉,呱拉不就即可了吗?当这个不失为一种方式,对吧,那我们在学完今天的我们的管理卷以后,你是不还可以怎么做。我是不是可以拿容我们当前数五阶的某个目录,比如就叫跟下的data,我拿它跟它绑定,拿它跟它绑定,那这样的话,他俩目录之间是不是相当于也是起到了一个共享作用。
08:07
这个很好理解吧。好,那我们过来试一下行不行对吧?好,Go wrong,杠杠name test,一杠D放到后台运行,Test冒号为1.0,我们就不使用我们的字管理卷了。当然如果想让它达到我们刚才的作用的话,需要加个杠V,对吧?自己去定义跟下的data容器下的data。跟下来带好启动成功以后,我们再起个test star。与之一样对吧?好,那CD我们先do eec-it并下的。Bash。我们先进的是我们的呃TEST1吧,进来以后我们到我们的跟下的带下,我们去创建一个叫做呃李明老师明哥。
09:00
好,我们退出,这是容器一里面的。那我们再进入到容器二,我们CD到带下。看到了吗?李明老师是不是已经出来了?那这样的话是不是就实现了容器之间的不同啊,容器之间的目录之间的共享作用,如果有多个目录,你加多个杠A是不是即可,但这样会借助到我们的数组机的某个目录,对吧?我们这里是不是借助到了我们的数组机的更新的date目录?与之做交换对吧?好,那如果我既不想去介入到我们的数组机的某个目录,又想实现我们容器之间的共享,怎么办呢?那就需要有一个另一个命令了,叫union,叫联合卷,对吧,那也就意味着我在启动第一个镜像的时候。容器的时候,我可以在启动第二容器的时候告诉他你要使用第一个容器的,但是这个要基于我们的do里面的容器自管理卷啊。
10:02
需要大家注意一下。也就意味着。如果你的。第一个镜像,呼叫启动容器的镜像,它里面没有定义哪个目录。需要去持久化,你是用不了这个UNUN的,因为他根本不知道你哪个目录需要去。调用。好,那我们过来看一下这个效果。首先我们先把现在的所有的容器都给删除。我为什么会喜欢你呢?加一个啊好。CD到wa下的lab下的W啊,Do下的wall这里也是空的对吧?好,那我们现在Dora刚刚name。比如叫TEST2-D放大后端运行使用的镜像是test的冒号V2.0版本。那iOS这里已经出了一个容器的制管理卷了,对吧,我们再来一个test star,但是加一句话叫杠杠俄罗木斯啊放。
11:12
从哪里来呢?从我们的TEST2容器里去回车。好,少一个M对吧?好,那这样的话我们就已经启动成功了,那我们在los看一下还是一个卷,按理说不应该对吧,我们因为使用的是test的2.0镜像,2.0镜像的话,它是会自己叫容器制管理键,因为我们在到费中声明了我们的W,它应该会创建一个随机目录与之绑定。那为什么会这样呢?原因是你加了一句话叫w from ws from这个有什么含义呢?这个含义就是我们切启动的第一个。它会在我们的这个水晶目录下创建出来一个与根下的data进行绑定,对吧。
12:04
好,那我在启动第二个容器的时候,既然我们写了W了,它会自己去匹配,诶当前这个容器的挂力卷就是持久化目录卷是它对吧,那我就定位到他了。然后呢,我在这个容器里面,并且我要有个声明的叫跟下的data需要去持久化,所以它就会两端一起匹配,还是那句话,如果想使用杠杆wall from的话,你的你的镜像必须要写了wall模式,Wall告诉他哪个目录需要持久化,对吧?不然的话,如果这里产的是T1的话,他怎么知道什么目录与之相互匹配关联呢?这个应该很好理解对吧,那现在我们看看是不是像我说的这样,那do eec-IB下的BA。我们先到太子的一里。啊,Test进来以后,我们到根下的data下,我们去创建一个我的名字,然后我们退出,然后到我们的TEST2中,那还是到它的get目录下。
13:12
看到了吗?那这样的话,是不是既可以不借助我们的速度机,又可以完成容器之间的目录共享?好,那这个呢,就是我们的数据键在容器中的一些利用的方式。还是非常非常非常非常非常非常重要的,对吧?好,那这节课我们就先讲到这里,好好的把它给做一些实验,那我们下节课再见。
我来说两句