00:00
好,那么同学们我们继续,那么上一节呢,我们呢,介绍了do的构建过程,那么呢,主要就是这四个和它的大致流程,对吧么?这大家看保留自指令,OK,那么接下来我们呢,就来看看这一堆堆。主要的保留自指令,那么基本基本上是涵盖了全部了哈,那么98%吧,那么这个时候请看一眼,那么就这样吧,体系结构或者这个呢,再说白一点,是不是就叫保留字指令啊哦了,我们来。啥意思啊?来同学们首先哈,没办法,就跟你想做完这个,你能通读一篇阅读理解的前提,你是不是先要学这个语法和词汇,那么这我们先一个一个的介绍,放心就是我给你介绍完了第一次你肯定也不是特别明白,你只是会明知道哦,有这么个东西,但怎么用,用在哪?
01:00
不清楚,所以说到后面,我们会把这些创意案例案例给你串讲起来,从简单到复杂,一个一个的带着大家。透彻的理解do fair,好,那么这个时候,但是呢,刚开始这十分钟可能稍微有点枯燥,那么请大家呢,耐着性子。我们一个一个的认认真真的就跟背英语单词一样,咱们先背单词啊,你才能行云流水的阅读,阅读理解英语作文,好,那么来。基础镜像,当前新的这个将要编写的这个新的镜像是基于哪个镜像的?那么比方说我们干嘛拉出来的center维啊,是不是基于SCT抓痒痒养痒这个镜像我说过它是不是一切镜像的先类呀?当然三套S继承了它,那么我们又继承三套S,那么是不是这一堆堆我们通通都有了,好,这是第一个,第二个。Maintaina干嘛?镜像就说白了,作者加作者的邮箱你懂,那么这个时候大家请看这。
02:02
O吧,不多说了,来run容器构建的时候需要运行的命令,那么也就是说,比方说哈,我从上到下的执行,这假设我写,当然这没有run啊,那么假设我写了个run,什么意思呢?就是说我这要执行哪一种Linux的命令,或者是某个具体的操作啊,到这一步要干什么?有点类似于你在程序里面,你编了一个100行的程序,你在调试的过程当中,然后呢,比方说第38行后面你就写了个C2点PRINT111,然后又写了一行二二,那么这个时候说白了什么,这个若数到这一行的时候要运行什么东东,构建的时候需要执行的额外的一些命令啊。好,Expose,那么这个不用我多说吧,那么啥意思呢?那么同学们都清楚。这是3OS啊,我们讲过是吧,Red的这个镜像,那比方说我们点开,那么同学们蝼E,我们直接取RED4点。这个时候大家看run,什么group and-R,是不是建立一个red用户组,并且又添加一个叫的用户,这个是不是在构建镜像的过程当中执行一个具体的命令啊,那么呢,不多说。
03:12
什么意思啊?那是不是暴露出该镜像?变成实例对外启动以后,它服务的端口号好了,那么这个我相信都好理解,那么呢,Work DR啥意思啊?在指定在创建容器后,终端默认登录的进来的工作目录,一个落落脚点,那么什么意思呢?我们来看看这个red OK,那么这是不是有work drr,它的意思是什么概念?他的意思就是说主人你登录了以后,这个时候干嘛?你的工作目录就是在这。好,那么。可能有些同学还是不大清楚哈,那么这样吧。好比方说同学们,我现在登录这个doer run-IT3S,我一运行这个镜像是不是获得一个实例,大家看PWD获得实例了以后什么概念,默认的这个三瑞斯啊。
04:09
落脚点是什么?落脚点是不是这个根木落,为什么呢?因为我在三塔S,这是不是根本就没有指定啊,换句说没有指定就是登录到我们的登目录,这么说清楚吗?但是如果说后续我们自己改了这个镜像,比方说我这改了以后work drr,假设我希望他一登录的时候可以登录进干嘛CD temp,那么这个时候你请看,你如果希望他登录的时候落脚点就是temp,那么到时候我们就写我们这个work点啊,清楚啊,它是一个着陆的,就像一个爆站的火车,飞机着陆了以后他坐哪个。停机坪哪一个停车场这样的一个概念好,那么呢,到后面我们会给大家演示烟V用来构建,在构建建设中设置环境变量,那么呢,这漏眼,比方说KV键支队。
05:00
因为我设置一个变量叫my test,值呢,叫user my test,那么这个时候干什么呢?如果我work DR Dollar my pass是不是代表引用?那么言下之意,如果这个时候我把这两行代码写进我自己的一个镜像里面,假设我这个镜像又是基于维的,那么说明我的center维一登录以后将会登录,不再是根目录,将会落脚点就是user my test这个路径,好,待会我们会用案例演示哈,那么这块要是听着有点模糊的同学呢,先暂时不要着急,先压下来,那么呢,言下之意,那么呢?这些东西不难哈,那么ADD,那么不用多说,Center OS这那么同学们你懂的,你晓得的,我们这个ADD这有没有,你看这是不是ADD进来一个这么个,他说明ADD是什么意思呢?好,但是在讲ADD之前,我需要把这个泼皮也讲了,就这么说ADD的跟copy一样。
06:01
那么如果说我说这句话的意思,那么换句话说,ADD相不相当于获相当,那么它的意思就是什么?把你在构建doctorer fair上下文路径的时候,把这么一个架包相当于说什么ADD就是copy,听懂拷贝镜镜像里面清楚了吗?但是那既然这样的话,那我直接用copy的了,万文就之一,干嘛要一个I呢?它们两个功能一样,但是I要比copy强大,因为什么copy就是直接拷贝二的是拷贝加解压缩。清楚,那么大家请看我在这是不是丢给他一个踏包,如果你是copy,他可能处理起来就特别的困难,就是直接拷贝,但是你懂的,一般我们这个是不是压缩包式拷贝过来以后拷拷贝的过程当中再解压,听懂了吗?那么有点类似于送快递,Copy就是把它从。快递站送到你家,但是拆封需要你自己拆,2I的就是送到你家以后,他在门口已经把你拆好了,直接给你的就是现货礼物清楚,那么也记I copy就是等于copy I等于copy加自解压功能,那么好在宿主机的目录下文件拷贝镜镜像,且I的命令会自动处理URL和解压缩,那么copy呢,类SADD那么。
07:23
就这么干,那么请看将从构建上下文目录的原路径的文件到目录复制到新的镜像到目标路径,好,那么它的copy和I它有两种,大家看这个是不是圆,这个是不是目的,这是直接用next校脚本的写法,而这种呢,是类似于什么接串的写法好。那么来,Williams,那这个应该懂了吧。知道了吧。保存数据和持久化,那么是不是建还记不记得上上上讲我们讲过的,相当于说这个from center volumes是不是date volume1 date volume container2,是不是建这个center的时候,同时在根录下面自建两个活动硬盘,自建两个容器卷好,那么CMD什么概念?
08:09
指定一个容器启动时要运行的命令,那么这个时候,那么大家看,呃,Doer file的直接格式,它官网上都跟你说了,一种叫线格式,一种叫exe ex ec这样的哈,那么但是呢,在日常工作中常用的有这个CMD和entry point,那么也就是说只要你编过doctor fair的,基本上这道是道经典的考题,都会问你这个CD和entry point什么意思呀?来。指定容器启动时要运行的命令,指定一个容器启动时要运行,我去,杨哥,你是不是写错了,粘贴复制粘错了,这两个就是一样的意思,但区别就在这儿,Do file中可以有多个command的命令,但只有最后一个生效,啥意思呢?比方说同学们,我们在这。是不是有这有两行,但不好意思啊,那么假设哈,我这又写了一个,比方说cat ETC下面的。
09:09
Host文件哈,假设我随便这么写一个,那不好意思啊,这个命令就会不会执行,在构建的时候会执行,但是不好意思啊,最终用的时候这个最后这个会把上面的通通覆盖,我只承认最后一个清楚你们来。只有最后一个生肖CMD会被do run之后的参数替换,那么这句话又是什么意思呢?现在我讲不清楚,待会儿我们用案例的时候来给大家说,这个很重要,来。指定一个容器启动的时候要entry point要运行的命令。它的目的和CD一样,都是在指定容器以及启动程序及参数,但不一样的地方是什么呢?这个会被覆盖或者叫替换,而这个如果你在run后面加了以后干嘛?Entry point会变成追加。
10:01
好,那么听听一嘴这块我知道同学们现在听不明白,但是呢,不要着急,待会我们拿案例说,你就会整明白了好么?也就是说再说白一点。CD。他如果你要用在外面,在那个终端那。加了参数以后,你人工加的参数会把我在doer file里面的最后这一行给覆盖,而entry point不会覆盖,它会追加。好。那么on build的呢?触发器啥意思呢?就是当构建一个被继承的刀块小时什么意思啊?父镜像在被子镜像继承以后,父镜像的on build会被触发,也就是说我们这可以留一手叫做一个触发器,或者叫一个倒钩刺啊,只要子镜像继承了我那么呢,运行了以后,附镜像还想做一点收尾的工作,或者是做点别的就可以写这个on build,它类似于触发器。好来同学们,最终我们所有的镜像doer file里面构成镜像的命令大致就是这张表,主流的除了这个和这个,因为这两个也比方user,它主要是给哪个组的和哪个用户ID才能运行这个do fair,实际工作中能编写do fair的,那肯定是谁编谁运行嘛,因为他要调错呀,所以这个意义不大。那么doer点一师忽略一些什么,像get的一一样,那么这个呢,用的也不多,我呢就不再深入展开,但是呢,基本上7788,我们把主流的也就是这几个,那么彻彻底底给大家呢,先过了一遍,大家呢不要着急,因为我们先要见一遍。
11:38
那么这些呢,都是理论知识,后面我们要按照案例一个来一个呢来给大家讲解,那么这就是什么来上硅谷学习的好处和目的,你现在去看官网啊,最多他就是告诉你这些是干什么的,有没有案例设计,那比方说你现在去看官网,这个就是我官网翻译过来的,你可以看美。
12:01
用在哪,怎么用的,没有老师去带你,你你以为就是什么,看看源码啊啊看看书啊,看看官网啊,你就能坏,太难了,现在呢,就是说是不要有一种不好的风气哈,就是有一些九零后呢,就是特别的浮躁,第一个理论不爱听,第二个干嘛,哎呀习惯呢,就是拷贝呢,张张改改,修修改改,能跑就行了,然后呢,一问他一点讨论一点技术问题呢,就说啊这个东西嘛,简单看看官网,翻翻源码就懂了。屁话,你咋那么牛逼,你妈妈知道吗?你咋不上天呢?这些东西啊,那你现在都知道了,那你现在给我写一个。怎么用?那么所以说最难的是知识学了不重要,谁能有学习能力啊,现在重要的是什么?执行力和运用知识能力,运用力,那看完了你能做什么东西呢?不知道,学了不用等于白学,那么第二个你能不能设计一个案例,把现在这些所有关键词啊都用起来呢?
13:03
你就给我写一个复杂的脚本。那么所以说这个时候就是大家来硅谷学习的,那么到最后我的案例呢,会一个比一个难,最最难的一个,比方说我们自己做一个time k,那么我会把这些通通用起来,那么一个案例你是不是全部学通这些保留自指令了,OK,那么希望大家呢,干嘛呢?再次强调哈,那么呢。不要浮躁,认认真真的学。沉下心哈,好,那么呢,保留自指令,我们呢,就说到这儿。
我来说两句