00:00
好,那么各位同学,那么呢,上一讲我们呢,将do file的常用的保留自指令逐个给大家介绍了一下,那么呢,这个呢。我们接下来呢,就依照这个用案例来逐步的加深我们的理解,那么请大家跟着我来来,首先我们先来看腐肉。Sketch,那么这个时候大家请看。这是什么东东?来吧,它相当于我们Java里面的object。那么这个时候请看doer哈中90%镜像都是通过base斯镜像中安装配置需要的软件构建出来的,那么换句话说,因为哈,我们那些什么red啊,Ins啊,他们看那些其实说穿了也要跑到这些什么center u班图上面,那么这些又要继承SCT,那不能继承这个祖先类,OK,那么所以说这是我们的贝斯镜像,我认为这个呢很简单,不用多展开,好,那么就是一句符。那么接下来我们来看看我们自定义镜像my center is。
01:08
好哈,上我们默认的三镜像什么状况,这个时候我们已经看了,我们说过了,在我们这执行的时候哈,那么我先退出吧,我们重来一个新的好同学们请看本期刀开,哎。Images,那么你懂的,这个是不是我们从阿里云上拽出来的这200多兆精简版,这个生啊,好,那么刀ER。Run-it,那么这个时候center OS b BA,大家请看我这是不是加了个冰BA啊,那么呢,回车来PWB。登录的落脚点是哪,是不是这个CENTER2的什么。根木落,OK?好,同学们搂一眼doer PS啊,当前正在运行的容器,那么大家请看哦,还有我早上讲课的DC02DC03是吧,好,这样吧,呃,同学们我先把所有容器呢都先关闭一下,这样的话呢,看着少一点,同学们呢,看着舒服一些好那么呢来眼睛不花,那么这个时候干嘛刀塔那么RM杠。
02:21
然后干什么呢?我们这块是不是刀卡,然后杠什么Q,那么言下之意是不是按照这两个进行多项的直联删除啊。那么呢,这个啊,万达的一个空格,那么这个时候大家请看,我们说过doers是查出来当前正在运行的容器doer PS加个Q是不是查出来当前正在运行容器的container ID,那么言下去把这有两个,把这两个传给这个do RM-F强制删除,那么跟我讲是不是有点类似于批量删除的意思呀,哦了,那么这一块呢,哈,我们这当是复习一下,我们大家请看,现在呢是干干净净清洁溜溜,当前正在运行的容器为零,没有吧,哦了,那么来同学们我跑,那么这个时候大家请看,那么这个时候有了吧,那么这个时候是不是有我们的,你看command是不是BBA,那么言下之见,我加不加,这个时候我默认登录是不是?
03:24
这个都到这儿,那么现在我们要案例改一下,我想让它默认登录,不是这是别的路径,这是第一点。第二个请看我们现在用我们从阿里云上面托出来的这个精简版的生态,首先这个肯定是对的,但是有可能呢,不符合你的诉求,什么意思啊,比方说呃,我现在根录下面我想编一个呃,记事本文件YABC.txt我相信这个命令同学们不会有任何问题,但是大家请看,是我敲错了吗?不是他说vm command not find什么意思啊,它由于是精简版的center啊。
04:03
只留下了内核,Kel,真真正正的内核他给你留下来,所以说他越来越小,小的原因是什么?他丢了很多他觉得不是内核的东西,那当然精简了,那么这个时候大家请看我现在来用的时候干嘛?内核倒是用不上了,但是vim用不了啊,那么再来一看,那这个命令大家在LINUX3个月前的Linux入门篇的时候学过干嘛?是不是查看IP配置啊,怎么着又是command note find。这个不用怀疑,我把命令敲错了吧,OK,说明什么?说明这个精简版纳森特瑞斯啊,阿里云上面跑的这个,也就是当前这个容器实列。不支持这两个命令,且你刚刚登录的时候干嘛。是根目录,那么所以说。我们现在获得的情况,我们呢,第一个初始三特瑞斯默认路径是根,不支持vim,不支持伊,我现在就要干你登录号默认的路径不要是根目录,比方说是另外的目录。第二个我想让你支持M,也就是说我要求这个镜像一运的时候就自身带着vim,要求这个运像运行以后就能用if can命令清楚啊,那么言下之意干嘛?是不是要在我们所拥有的东西上面进行重购和修改啊,换句话说就有点类似于什么你从4S店提了一部车回来,你会开了,OK,现在这个。
05:31
当前这个CS这个呃三维是不是就相当于说我们去4S店买了一部奥迪回来,你要懂,那么这个时候干嘛,接下来干嘛,你这个人呢,喜欢改车,那里低调奢华有内涵,你要把你买回来的这个普通的不是奥迪了,就奥拓吧,然后把这个奥拓车的发动机换成奥迪的,换成甚至更牛逼的,听懂了吗?那么这个时候是吧,杨哥不但教你开车,是不是还教你改车啊,听楚啊,那么哦了,我们看一下开工。准备编写我们的doer file,那么呢O呢,那么呢,想一下我们这个doer file应该怎么编呢?那么第一,那么结合我们上面的保留关键字啊来来看看我们的诉求哈,首先那不用说是不是要第一行永远是那么想都不用想,那么同学们如果按照我们现在这这三大诉求,我们是不是大写的。
06:24
干嘛大致哈,我就先不大写,因为我都写好,到时候给大家一张就行了,因为这个脚本的这个东西哈,我们节约时间center OS啊,那么这个OS是不是我本地镜像就是从阿里云上拉下的这个,那么这个时候第一步,那么第二步。你们干什么呢?我们呢,是不是要设置一个干嘛work。DR,假设我让你一登录就是我们的temp路,路径能跟上,不但是登录到跟路径这么说能理解,那么第二步那么干嘛,那么当然哈,前面我们可以EV什么意思啊,EV是不是设置环境变量,那么这个环境变量比方说我就卖。
07:09
Past,那么假设这个my past大致的意思哈,那么这个时候干什么呢?就是我们的temp,那么能能理解,那么这我这是不是就可以多了引用,那么言下之意就告诉他,我设置一个环境变量,一登叫这个,这个值反正就是叫根目录下面的temp临时文件夹,我们说过了这个精简,虽然说精简了以后,那么各位亲,CD temp这货有没有这个精简版的center里面是不是也有temp路径啊?那么言下去,我希望你一登录不再是进根目录,而是进探塔,那么。是不是就是我们的work DR登陆以后的落脚点清楚好,那么呢,接下来干嘛呢?Run,请看run是什么意思啊?构建容器构建时需要运行的命令,现在我解决了登录的落脚点问题,但是我现在是不是不支持vim,也不支持if can命令,那么这我的run就是什么呢?亚么安装杠y in s。
08:09
干什么呢?这个时候我先抓干嘛?Vim OK再来,我再抓什么呢?Ne choose,这个就说明什么,在我当前的阿里云拉下来的这个center瑞。我不支持vim,不支持我行没问题,那你需要什么?按需取数据,按需修改,那么请装上你的vim,装上你的ne,然后呢。暴露出。PS80端口哈,比方说然后CMD,那么模仿着我们前面的东东是不是冰。BAH。清楚,大致就是这么个意思啊,那么好,来吧,同学们,我们来看一下编写doer file文件,那么OK。
09:00
我们这儿呢。可以看到啊,我这儿呢,嗯。建一个文件了以后,我们来看,准备编写docker file,我们边在选定一个路径,早上好像有一个my do吧,好,那么这个时候呢,我先退出。来吧,现在来了来了大诶。CD根目录下面这个是不是有个my do,好,那么CD。My daughter。好。大家看这是不是有个do file了,那么注意。这个时候我呢,就每次就新写一个好吧,那么这我就是vim大块FILE2可以吧,在当前路径下面,那么你得写啊,那么就是大致的意思,就我刚才这个,然后呢,我把写好的来给同学们搂一。来对比一下。
10:00
当然我这个呢,我就刚才因为刚才是讲课听懂,我就没有写这个作者了,那么其他的那么大家请看,比方说我这是my pass是不是能不能。是登录到user local,而我这是登登录到temp,随便你爱用哪一个用哪一个,那么这个时候大家请看,那么这两行你可加可不加,那么好我们呢,来解读一下,我这个是不是继承自我们的本地镜像的三维啊,那么呢,这是我的。作者和作者的邮件,那么呢?Env来。用来构建环境过程中设置环境变量,那么大家请看这个是不是环境变量env,我们叫user local,我说过了center,那个是不是也支持user local或者是pass,随便你哪一个都可以啊,那么这个时候,那么大家请看doer PS现在是不是一个都不允不运行着了,那么O啦,那么接下来。
11:00
Work DR引用这个MY,那么也就是我登录的落脚点是不是就是这个,当然如果你改成这个目录,只要它有的是不是I,是哪个是哪个,那么来安装vim,安装ne choose暴露的端口八零,那么呢,这两个说可以把它当做是打着玩的,听懂SIM out print,类似于Java里面的,那么呢,打印出这个来吧,这个呢就是我们的什么。来,各位亲。没问题吧,那么解读清楚了以后,那么这个时候重复重复再重复练习练习再练习,来不厌其烦的保证大家课堂上就学懂,那么小总结,那么这是命令,那么来重要的是这张图。现在各位亲,杨哥是不是按照新版的MY编写了这个do fair了build获得镜像,然后拿着这个镜像再说,那么言下之意,这个镜像跟咱们的阿里云上拉上那个初始化镜像是不是也就不一样了?好,那么构建,那么来吧,Doer build-T新镜像的名字啊,注意英文冒号tag标签版本号,注意这有个点代表当前路径,那么这个时候楼眼了以后你看。
12:18
干什么呢?我们,你可能会说,杨哥为什么有这么多蓝色,那么竹行的执行切记我们讲过一句话,什么。镜像是不是一层包一层啊,哎,花卷啊,千层饼还有印象吗?好,那么这个时候请同学们跟着我来看我运行,那么doer有doer fire了以后哈,那么看一眼吧。没问题吧,那么呢,Docker build干F,那么就是my docker下面的doer fair2,你要执行这个,然后干什么呢?干气,我们名字叫什么呢?跟我的脑图统一,那么这个时候大家看我是不是叫my center1.3啊好,那么这个时候请看那么呢叫诶有没有前缀,我看一眼哈,尽量跟我的脑图好,我没有写前缀,那么这次呢,我就不写前缀吧,那么这个时候我就叫my center OS冒号1.3版本点,那么这个时候看好我一回车。
13:22
漏同学们STEP0第一步第二步第三步,那是不是就像层层叠加呀,那么大家请看么这些。它呢,要么安装,那么需要从网络上用这么多红色的,不要管它不是错哈,单漏着拍个几,那么这个时候是什么警告无所谓,那么来33个多序,OK OK completely complete,那么完成,那么这个时候。OK,等他直到构建完成,最后包内层一定要不是看他完成就完了,一定要看到什么成功的那个英文单词,大家看第六步,第七步我们打印出这个,那么大家看。
14:03
打印出我的MY,那么来,打印出我的success OK,打印出command。最终,Successfully。BUILD4311了解,那么这个时候请看doer images,那么不用多写啊,我这是不是有个4311刚好跟这是一样啊,那么大家请看我这个东东现在是不是就是完整的就是MY1.3版,你看我们从阿里云上脱下这个原版S是200多兆,你看我加了点东西,改了以后是不是变成接近360兆了,那么接下来第二步完成,第一步编写do file,第二步以当前的doer fair build构建出新的镜像,那么呢,这个时候大家请看doer image my center OS的冒号1.3大家诶。Image这个时候干嘛,我们的MY?
15:00
仓库名是这个哈,那么完完整整的没问题吧,那么这是第二步有了,那么接下来是不是第三步,那么刀卡干嘛run-it,那么这个时候我就不是运行SANOS了,各位同学,我现在是不是要运行MYSANOS冒号1.3,这个时候大家请看。PWD回答,我不再是根目录了吧?那么这个时候是不是我落脚点?我的着陆点是user local,为什么?因为前面讲过,Env是设置环境变量,Work dir是落脚点,根据我们镜像的构建编写文件,我们这块可以看到。这不对,对,我们是不是解析的很清楚啊,我设置了一个key value是落脚点是这work drr引用了这个变量,那么跟我讲这个时候说是不是可以得到我们正确的结论,当前登录了以后的落脚点是user local啊好,那么接下来干嘛呢?大家请看在这个下面有这么多东西YM,比方说我就。
16:05
叫test003.txt大家看。可以写了吧,现在那么言下之意,当前我这个centers就是MYS1.3这个版本是不是天生。一运行了以后就支持vim了,那么如果是if can呢?大家看是不是也支持这个命令啊,那么现在我说查网卡,查IP通通都有了,那么换句话说,我们从doer、阿哈或者是阿里云上面下来的某个镜像,你用了以后你觉得不爽,你是不是可以按照自己的诉求去模改,改了以后又在卡密特提交,是不是又形成新的镜像以后你这样是不是有自己的工具库,自己的装备了?那么从这儿我们起码应该至少知道了command run以及我们的work div清楚,那么这样的话逐个弄起来,那么来运行的话,我们刚才也运行了,最后列出镜像的变更历史,这什么意思呀?那么也注意什么年,镜像年,也就是说主人你这个镜像时有哪一些呢?那么大家请看do images。
17:19
My center OA,那么docker history,这个时候请看我的镜像ID是这么一个东东,那么这个时候我一查看,大家请看,他就会告诉你。干嘛兄弟,我们一开始是不是先辅肉特维啊,换句话说,我的基础镜像是不是200兆的那个阿里云那个之后我往上面一层一层一层层的添加,怎么来的,抵着看,那么言下之意是不是顺着加载倒着执行,那么这个。干嘛?是不是有点像我们的站GVM,我们讲过的站,这个就像may,这个from就像是。起步的那个没方法一样,没方法是不是会加在占底啊,然后逐个逐个逐个逐个逐个,那么这样我们就可以看到干嘛你看,所以说每一步它就产生了一个新的镜像,下一下一步又在上一步的基础上层层往上轮,千层饼弹花卷,这个意思应该听懂了吧,OK,那么这个就是我们的自定义镜像my center OS。
我来说两句