00:00
好,那么同学们,我们继续前一讲,给大家讲了容器数据卷的理念,那么呢,它呢,就是容器。停止或者关闭以后,对于部分数据的持久化工作,我们想把它保存下来,那么我们就把它保存在容器券上面,那么它就相当于什么我们外置的活动硬盘,好,那么它功能主要是做容器数据的持久化,加容器间数据的共享,甚至数主机和容器之间的数据共享,啊那么好,接下来我们来添加看看,那么呢怎么来添加我们。相关的容器卷呢?那么这个时候同学们。我们呢,简单的呢,来看一眼。有两种方法。第一种。直接命令添加第二种docker file,诶,这个时候可能同学会说,哎,老师,你这不是有一张doer file吗?那么呢,杨哥是在这块备课的时候也考虑过,到底是把它放在这还是直接放在这儿,那么这个时候呢,你不要怕,我最终呢把它放在这儿了,提前给大家剧透一下,就当是什么。
01:12
承上启下的一个知识点,因为呢,在容器内添加数据,二呢,它有两种方法,一个呢是命令,第二个呢是docker file,通过docker file来编写,那么在这儿呢,再说一下哈,在doer基础片里面,Doer fair还是非常重要的一个概念,有些同学呢,一张口一闭口呢,就是comp Miss machine swm k8S,哎哟,新概念满天飞,那么随便问他说fair能看得懂吗?没听过那么这样的话呢?你永远就是什么一个装配工,底层和深层次的原理和基本功你打的不扎实啊,也许你现在能用K8S干活了,但是记着,你要走得快,你就是满嘴去拍那些新名词,但是你想走的远,请跟着杨哥认认真真按照我们基础篇高级篇先入门再提升,踏踏实实的把基础打牢了。
02:06
再强调干嘛?雾在浮沙上面筑高台出来混,迟早要还的好。那么这个时候呢,到doer的时候,我们再想讲,但是在这儿我们呢,通过doer那个doer fair来说一下怎么去容器块,好我们先说命令,那么命令如何建呢?很简单。来,同学们。我已经把它笔记写好了,就这个刀客run-I-V。宿主机绝对路径和容器内目录进下面,那么就这个好,那么同学们我们先退。大卡干it镜下名,我相信。如果我上一讲布置过的作业,让大家进去动手去练,你自己本机应该是通过某个镜像让杠it有个交互性的终端。开启能够连上你们的各自容器了吧,那么就是在这个命令的基础上,那你看哈,同学们,这些命令严格呢,都是按照一步一步从简单到复杂,一步一步带着大家深入,那么呢,跟着走。
03:11
来啥意思啊,杠VV是value卷的英文缩写,那么这个时候是宿主机的绝对路径和容器内的目录。好,那么假设哈。我们现在呢,就干这么一件事,我们的宿主机是不是我们的这个虚拟机上的这个center6.8那么好,那么这个时候大家请看这个是不是我们的根目录啊,干脆这样吧,在终端中打开那么好。我们这个根目录呢,这是我们的宿主机啊,我们这。哎,替换。稍等哈。好。哎呀,烦啊,直接不写中文了,那我就写个后吧。
04:01
这是不是我们宿主机的没问题吧?好,那么大家请看单前是不是在根目录下面,那么根目录下面LL,那么呢,我们呢,可以看到各位同学跟着走。现在我们宿主机的目录是不是有这些目录下面,好吧,那么假设哈,待会儿我在当前宿主机下面,这样好看一点哈,我们建一个卖。比方说贝塔。Williams,听懂,那么这个就是我们宿主机的目录,那么这个目录我们留着,那么有点类似于是这样哈。我们这么执行。宿主七的绝对目录啊,那么这个时候就是my data。Volume没问题吧?那么大家告诉我,现在我在这个根上面有没有my data volume这个文件夹?啊,M开头的只有这两个,只有这几个,根本就没有吧,那么如果待会有了谁建的,是不是我们的do命令建的好,那么再来容器内的目录,那么呢,一样,我们在这个容器以内。
05:12
这个容器是指干嘛呢?对头,我们container,那么O了,我们在这儿。请看哈,那么这个就是date。Volume container。能理解,你看这两个是不是都在根路下面,只不过这个是在我们36.8,我们的速度七的这个。而这个是在容器里面的,哪个这个镜像明生成的容器实例听懂那么好在这儿哈,我先给大家呢,用最简单的方式来演示,那么来同学们现在哈,我们这这个是container。没问题吧,这个是容器内的,那么呢,当然现在我们还没进去哈,大家请看doer images啊,我们这是不是有我们的center塔S,请看do卡run杠,It centerta OS,那么呢,BBA好。
06:12
进来,同学们请看现在我是不是在容器里面的这个center OS的实例,好,L了L了。大家请看它这个下面也没有一个叫什么data volume container吧,这样的一个文件夹吧,那么大家请看。D开头的没有吧,那么言下之线,现在假设我们以最原始的这样的命令去登录,登录我们的生态镜像默认的根木镜像里面的,也就是说doer登录我们的容器,由这个镜像生成的这个容器,我们doer里面的这个容器生瑞它。根目录下面当前根本也没有我准备写的date container这个文件夹,这么说清楚,欧拉,那么这我呢给它退出去,那么我就告诉大家,没有的时候两边是不是都没有啊,不管是宿主机还是容器都没有,那么好,现在呢,我们开始了。
07:16
我们呢,怎么个执行法呢,这个是在主机这,我们就执行我们这条命令,那么呢,拿过来。在主机这哈,随便在哪都可以,那么呢。粘贴,然后三塔OS我是不是现在准备执行这个镜像,那么这个时候哈,同学们请看doer PS什么概念?Do塔的意思我们同学们复习过,是不是当前正在运行的容器实列,大家看是不是空一个都没有,说明我们这是干干净净的O了,那么这个时候请看do run杆at-V,那么就是让什么三塔OS6.8这个根目录下面要新建一个my date volume,然后跟容doer里面的这个center,容器里面的这个根录下面这个data volume container这个文件夹达成连接,相当于说一个活动硬盘插到笔记本上,开始容器之间,容器和主机之间数据的共享。好,那么这个时候请看同学们再次强调哈。
08:18
我这阿拉阿拉之间这个是根目录下面现在是不是根本没有my date value没问题吧,那么这个时候请看。我已执行欧拉,我现在以这个三成为为镜线,然后生成了一个尾号是8e de的容器在刀口上跑着。那么此时请看。我们这儿我呢。直接让他刷新一下。好,那么来同学们,这个时候这是我们哦,这跑到容器这了,没关系哈,那么。换一下名字吧,大不了那么这个是现在是container。
09:02
好。那么这个是不是变成我们的主机了,因为我刚才执行命令了以后,那么好CD根目录LL来大家看。是不是有个may my date value,这个是不是我们主机的那么O了那么呢。再打开,再打开,那么来my volume,你懂的,刚才我们的主机根目录下面是不是根本就没有my volume,现在是不是新生成了,那么说明杠V这个是不是含有自己新建的功能啊,相当于是个make drr。欧啦,那么这个主机下面大家请看吧,那么现在我LS-L主机下面有没有一个my data?啊,里面没内容啊。那么呢?那么这个时候我们lawyer。有了吧,那么这个时候是不是根路下面有一个这么一个动刀,那么一样,现在我们登录进。
10:03
刀里面的这个容器,81DGPWD默认是根目落L了,L了。大家漏一眼,这是不是有个data volume container,没问题吧,这个是主机上面的my data volume,这个是容器里面的根目录下面的data volume container,那么这个和这个这两个是不是相当于咔嚓碰上进行了数据的共享和对接?那么老师我没见到什么数据共享和对接啊,来吧。首先查看数据是否挂载成功,那么呢,我们一步步做这个案例,那么我现在要是跟你说同学们,那这。以前是没有,现在有了,这以前是没有,现在有了就挂载成功了。或许你会觉得我还是不相信,那么这个时候不相信没关系,我们再起一个窗口来证明,什么意思呢?同学们还记不记得我们前面学过一个docker inspect。还记得吗?以杰算串的形式。
11:01
来给同学描述这个容器,那老师上一次你讲了以后,我只知道他反回给计算串,怎么看啊,你没想讲啊,没办法,要结合后面的知识,你才会发现这些命令它真的很有用处。跟着走来吧,那么do卡,大家请看我现在是不是以这个森特维斯的为例。得到了一个81D线我们的容器。那么doer inspect。把容器的ID录过来,这个时候一回车大家请看,那么怎么看呢?搂一眼。这是不是有一个东西叫什么呢。来。Volumes的券什么动当这个是不是,你看date volume数据容器券是不是容器内的跟my date volume跟宿主机上的绑定了,你怎么知道绑定了,看主机配置,这绑定S是不是主机的my data volumes啊,跟我们容器里面的data绑定啊。
12:04
那么从这个描述上我们是不是可以清楚的看到,OK,那么如果你能在用docker inspect加容器ID,能看到这一小段,说明绑定成功。另外一个提前剧透,Volumes RW RW什么意思啊?是不是读写的意思啊,说明我现在可以对。容器。里面的date文件夹干嘛?读写操作均可,好那么接下来我们来看看它的功能,容器和数主之间数据共享啥意思啊?来吧,同学们。这一点就是他们两个最激动人心的一个概念,好,现在我们先看主机上,那么我CD my date o吧,那么现在大家请看我是不是在速主机上的根目录的my date文件夹下面,那么这个时候请看我touch host.txt这个是不是主机键了,主机键那个新文件主机键的主机看到,那么这个时候我相信这个不用我多废话那么好,接下来请看关键是我们这CD现在注意这是哪的容器刀号容器里面的三叉S81DE尾号是。
13:15
看到没有,这个是不是容器ID,那我进去干嘛呢?Date value OK,那么当前是在容器的这个路径下面,我们呢,Lower。右边是主机哈。这边是容器,那么这个时候L了L,大家请看有没有host.txt,有吧,那么好,那么这个时候我们的YM host.txt哎呦,抱歉,因为我们这个center OS啊,它不支持vim啊,他还没下听懂,因为它是不是个精简版的,它没有这个功能,那么我们就VI吧,Host txt,那么这个时候这个不用多说了,VI怎么用对吧?那么这个时候我们就container。Container update干嘛?那么这个时候零些好同学们E保存退出。
14:03
大家看是不是可读可写,那么这时候这是第一点,其次啊,再来看touch干嘛呢?Container,第二,TXT。你懂的,现在我是不是在明确告诉你,是不是在容器内第一个修改了主机的这个文件,第二个我自己还建了一个,那么主机这呢,来吧,L了L了。大家请看是不是实现了宿主机和容器内之间的数据共享?那么来吧,Container,我能看得到host,那么这个时候我cat host,大家看是不是contain update0线秒懂。哦啦,不再多废话。那么接下来我们来继续。容器停止后,主机修改后数据是否同步,那么容器和宿主机之间数据的共享,那么这边我们呢,刚才我说用touch,当然你是不是可以用这个追加符啊,那么这些不废话,那么来。
15:01
容器停止退出主机修改后数据是否能够同步?那么什么概念呢?那么同学们左边这个是不是容器好,那么干什么呢?我现在exit注意exit和CTRLP加Q,再次强调exit是不是退出停止容器。干嘛出门关灯,CTRL加P加Q,出门没关灯清楚,那么这个时候我退出。来,同学们刀砍干脆呢,用这个看吧。那么来do PS同学们,当前正在运行的容器是不是空哦了,那么这个时候干什么呢?大家请看这个,当你容器停了,但我主机还有吧,那么这个时候干什么呢?主机这有这两个,那么我现在touch host干嘛呢?零二.tst主机又修改了一次,没问题吧,那么这个时候主机是不是有vim啊?主机是不是我们的生6.8最全的那个,4G大小的那个,不是精不是容器上刀ER上面跑的那个精简版200兆的那个哈,这要分清那么。
16:09
这个时候这是容器,干脆这样吧,我那这儿好看,那么呢,YM host.txt大家看。刚才容器里面改过的是吧,现在我就host update01好,还是改同一个文件保存退出,那么接下来我们呢。主机上HOST02,我们的问题是现在大家猜一下哈。如果我把这个容器又重新启动,那么这个时候再重新进去,那么大家认为。我这个里面会不会有新的数据呢?好思考一下。好,那么同学们呢,进行了一番的这个讨论哈,有些说有,有些说没有那么好,现在呢,我们来实验说话,那么注意,也就是说老师现在想做的事情呢,想达到的目的就是说我上一轮是不是容器这个已经退出了,但是你容器退出了,我主机这是不是又新建了个HOST02,我想说的是这个容器如果再重新启动了以后,主机上改了,能不能给它同步,那么这个时候大家请看。
17:15
现在do塔啊,是不是当前根本就没有运行任何容器实例,那么好上一次啊,我运行的是哪一个,是不是这个container ID好拷贝过来,那么这个时候干什么呢?容器do干嘛呢?Start。开高。老,那么大家请看我现在是不是当前上一轮我关闭的,现在是不是要update,你看三秒钟前才启动的吧,我又提起来了,那么就是我上一次关闭的那个,那么来同学们这个时候怎么着,我们来漏眼干什么呢?现在我们重新进去,那么刀卡。Attach,注意。
18:01
哎,太讲过吧,重新进入到这个容器,你进哪一个大哥,我是不是进这个容器。OK,进来了以后大家看我现在L了L。是不是data container好,我们在doer容器里面的center维啊,就是200多兆的这个精简版的这个center里面CD根不上,哎,对。对container加了container的,大家看是不是在这个。Do生成doer生的这个下面,那么这个时候LL,你们说会不会有HOST02。怎么样,就有点像red一样,你关了以后,你只要留着RDP和L,我是不是马上重启以后又可以跟你做一次全全量数据的同步拉取啊,OK,那么这个时候大家请看,嗯,那么我们看后第2TXT。
19:00
那主机改过的是不是通通都OK啊,那么所以说这个时候请看容器停止以后,主机修改后数据是否同步。大家请看,完全同步,OK,当场演示好,那么再来。命令带权限。那什么意思呢,同学们,前面前面我们是不是。Doer in。Back查看了这个容器来看是否挂载成功,然后同学们,我们这是不是介绍过一个RW是处啊,那不好意思啊,如果RW不是处是false呢,那么这个时候我们来看,我们见另外一回事,那么这个时候。也就是说有可能哈,就像你的活动硬盘啊,有些活动硬盘是不是有写保护,相当于说你只可以查看,你不可以删我硬盘上的东西啊,有些硬盘是插上以后随便你干,同学们这个不用我多说吧,你就把刀卡容器卷当做活动硬盘有写保护,那么这个就是什么。
20:00
加个。还是拷出来,我们对比着来学啊,同学们。那么比方说这是我们一点点从简单到复杂哈,循序渐进的学,这个是不是最最简单的,以容器,以镜像启动一个。实例,而这个是加容器数据卷,这个是加了容器数据卷,但是干嘛RO什么意思啊同学们。是不是read only只读啊,哎,所以说容器内的目录干嘛。只读不可写好,那么同学们,我们来来看看这个东东会是什么样,那么好。现在我们呢?来再来执行一次哈,那么呢,我们就。还是执行这个吧。来。那么这这一块是不是我就加一个。这样一个东东,还是这个,哎,对那么好,同学们,为了避免大家混淆,我现在呢干嘛呢,点点那么。
21:09
RM杠、RF。当前路径下面是不是叫my data上官没问题吧,那么这块删了以后,那么大家请看。这是不是也就零了,OK,但是注意这个文件夹有没有删掉。没删清楚啊,那么我后面新建的是不是会覆盖它,当然如果你要为了怕出问题,那么大家告诉我。可不可以把它也删干净,以后我们重做完全可以哈,那么这个时候呢,你想删删,不想删也拉倒,那么这儿呢,我就懒得删了,因为这个是为了给大家看效果和证明,你懂的,我在这一块的时候。干嘛,这现在这个里面的东西是不是可读可写,上一轮的话我们说过是不是读写是错,好现在啊,同学们exit容器停止并退出,好,那么这个是我们的容器,那么来同学们现在。
22:04
我们回到我们的docker PS啊,大家看是不是什么都没有啊,当前没有,正在运行容器,我们再运行我们的命令。哎哎哎。差点写错了生产OS啊,那么同学们跟刚才一样,但是是不是加了一个read?Red only回车,好,同学们,是不是又容器我又进来了,那么欧了,同学们请看LL。No yeah。有没有?没问题吧,那么这个时候CD干嘛带value,那么这个是。容器侧的data volume来了来了,现在是不是没有那么来老规矩,右边主机大家看是不是有my volume了,哦了,那么这个时候干什么呢?CD my date value来了,来了,是不是也没有啊,你们来吧,Touch hot.txt来,那么同学们,你们认为。
23:01
由于我加了只读,那么你们觉得我现在主机上写了一个host TT会不会同步过去?请大家思考五秒钟。好,那么这个时候哈,再来吧,不在主机上啊,那么这样,我这就post update o吧,那么这个时候是不是主机修改过,那不用讲cat host,主机上是不是有这个文件,且文件里面是不是有内容host update,我们现在呢,刚才停了五秒钟,给同学们七嘴八舌讨论了一下,老规矩,答案是丰富多彩的,有说有,有说没有,因为有些同学理解是不是只读啊,那么好,同学们漏眼。有没有传没传过来,传过来了,那么这个时候请看。干嘛呢?Cat host有没有?但是这个时候请看。Touch container。TXT回车。
24:01
啥?是不是你在这个文件夹里面根本不能新建,因为不能有写操作,那你说哦,自己不能新建,那我能不能改呢?V host txt,那么来吧,同学们,现在我下一行。干嘛呢?我叫container。干嘛update?好,同学们,请看我强制保存退出什么概念不能够?听懂,换句话说,是不是不能够打开文件。对于。写的过程当中,换句话是不是写操作不支持啊,因为我加的是RAO点,那么这说穿了难听点什么意思啊,也气容器内的数据只允许主机单向的写操作传给他,它只可以看容器,只可以select查看,但并不能做登删感清楚那么O了,那么再来。现在我们的新的容器ID是不是这话那么老规矩,那么。
25:01
干嘛呢?Docker inspect。那么这个时候。老爷,大家请看我们出现的东东是什么东东啊,挂面有没有进行绑定,绑定了,但是请看不但绑定了,是不是加个read only,且看读写的话干嘛for,那么现在read only说明什么都不用我多废话,这是不是明确的跟你跟你说了read only的文件系统只可以容器,只可以读,不可以写欧了,那么这个就是我们的用。Do-V命令添加容器数据卷,达到了主机和容器之间数据共享的目的。
我来说两句