00:00
好,同学们,我们下面呢,啊开始上课,那么接下来呢,我们进入到我们第四章docker镜像,OK,那么通过前面的学习和讲解,相信现在大家对这个镜像这个概念应该是不陌生了,我就不再重复啰嗦,那么接下来。你总不可能说我知道do,你们就是啊。OK,这叫镜像。那么呢?还记不记得我说过一句话?我说,同学们有没有想过?我们一个tomcat为什么会这么大?对。好,那么呢?第二句话我说过,镜像。就是。千层饼就是我们的。一圈一层套一层的一个花卷,还有印象不?好,那接下来我们来看看docker,它这个镜像是什么东东。
01:04
第一个。联合文件系统。那么首先。Docker镜像的加载。分成。为什么这种结构好,先说说镜像是什么来。轻量级的可执行的独立软件包。说穿了是不是用来打包软件?运行环境和基于运行环境开发那些软件,也就是我们所说的这一大堆什么,以前只提交代码给运维工程师,后来是不是整体打包还记不记得?讲过前面讲过的那个case啊,搬家和。你所在的这个家的整栋楼都给你搬过去,镜像就是搬了整栋楼,那么呢,前面也已经体会过了,直接运行,以这个镜像生成我们可运行的实力容器,开工好,那么这个不再多啰嗦。那么接下来。
02:00
Union fl system。联合文件系统,那么什么意思呢?那么言下之意哈,我们这儿。来。好,我看同学们看到了这个是吧,肚子饿了是不是很辛苦哈,那么来吧,我们呢,在这儿,那么回答我这个是不是就是一个花卷一层套一层啊,那么呢,这堆堆是镜像的相关的官方文档的解释和说明,请看。镜像它实质是union file system联合文件系统的缩写,它的实质是这么一个东东哈,是一种分层的轻量级并且高性能的什么东东文件系统,那么呢?干嘛?对文件系统的修改作为一次提交来一层一层的叠加,这句话就是我们的重点和关键。同时。我们呢,再把它一层层叠加的这个大花卷放到同一个目录下面,比方说放到蒸笼里面,那么UN灵系统是doer镜像的基础,也就是说doer镜像的基础底层实际上是union file system,那么呢,我们可以镜像可以通过分层来进行继承,基于基础镜像,没有副镜像的制作出各种具体的应用镜像,那么特性什么呢?
03:22
一次同时加载多个文件系统,但是从外面来看只能看到几个一个什么意思啊?也就是说假设这层花卷里面又包着很多层,我们说过一个鸡蛋是不是有鸡蛋壳、鸡蛋白、鸡蛋黄,一层嵌套一层,一个同心圆一样的,那么呢,联合加载文件系统这种机制呢,就会把各层文件系统叠加。一层层的叠加起来,最终形成一个统一的有机整体,就是一个镜像对外给外面用。那么这。我们来看刀砍的镜像加载原理,那么记着刀砍的镜像底层原理就叫联合文件系统,一层层叠加,也就是说一个镜像是由多层打包构成,那么它的加载原理是什么呢?在这儿请同学们先楼也自读读一下老规矩,锻炼大家的自学能力。
04:15
Docker镜像的加载。好,那么来,同学们哈。Do的镜像,一层层的文件系统组成,这种层级就前面讲过的联合文件系统。那么呢,主要是两个,Boot和root。那么FS都是fair缩写,那么这个boot主要是包含干嘛?Boot load加载器和kel,这个kel是不是Linux的,我们前面一再的强调过,反复的强调过这句话。Doer实实而言,真正正干活的是doer背上的那个容器,那些容器是不是每一个都是精简版的Linux系统,那么呢,这个时候它主要引导加载do卡,那么根据这个图的意思就是什么?就是说这个boot文件系统实质上而言就是一个Linux内核,那么然后你跟我讲,它就相当于这只蓝色大金鱼的背,那么上面的话呢,干嘛它呢是镜像的最底层,就是引导型system,那么呢,跟我们典型意思一样,包含这些加载器和内核,那么加载完成以后内存的使用权。
05:24
O啦,看到这个内核完了,那么这个你自己写答案,然后上面就是我们的root face,那么root fair呢?就是我们nu的根的这些标准目录和文件,那么呢,各root换句话说是什么?各种不同的操作发行版本,比方说UB图和森特维斯,那么我们学过Linux都知道,Utu和森特X是Linux这种概念下面的一个具体的落地产品,那么跟我讲他们是不是内核相同,只不过是定制那些软件不一样。那么言下之意,刚才我们是不是已经试过了,Doer上面可以跑一个200多兆的精简版的一个生态啊,那么它为什么这么小呢?也记我。
06:08
内核部分共用其他部分那些什么硬件的不加载,只有这两个,然后。请看。干嘛呢?对于一个经济人,S root可以很小,那么内核我共用,只需要包括最基本的命令工具和程序库就行了,因为底层我直接用宿主机的内核,那么自己只需要提供root FS,那么言下之意,你这个root FS是center docker就给弄成center特瑞斯如果是U版图,那么就是U版图,所以说对于不同的发行版本。Boot。签到引导出来的内核几乎一样。Root FS不一样,因此刀口为什么快就是共用这个内核,那么来那么分层的镜像什么概念呢?以我们的破为例,比方说现在杨哥这是拉了个mango DB,那么这个时候请看,可以看到doer的镜像好像是在一层一层在下载。
07:08
能理解,还记不记得我们原来讲过一个东西,大家请看哈,Doer pull哈,我们用最简单的,那么这个时候请看我们是不是一个镜像,那么但是根据我们所讲一样的话,一个镜像。它最终的给你干活的这个镜像,请看do image,那么我们还是拿我们的hello word来说它最外暴露的这个。是不是这么一个镜像ID,但是请看它下了几个,那说明什么?这个hello word的这个容器怎么着,它最终的这个镜像这个模板,它也是由多层构成,那么比方说我们在下我们一个center,这个已经已经下过,那么大家请看。
08:00
Helloard是两层,但是这个大家看它是不是也类似啊,那么跟这个一样,那么这儿回答大家第一个问题,为什么我们维斯啊,这个hello,哦,我们的这个helloard为什么这么大?那么你可能会说,老师你这个hello time k,呃,还没起代啊,啊,为什么这个timeca这么大还没起过啊,没见你痛过啊,待会聊我们马上就要用到。请问。他们看大家都明白,它一般不会400多张,那么你告诉我,他们cat运行之前我们这么干哈,那么现在来彻底解释。这个分层的这个概念。你们来,我们画一个,来,同学们。这个框框。或者这样吧。这个。就是我们的内核。OK,那么言下之意,这个内核怎么来的呢?
09:02
这个东东。就是我们的不。FS,那么跑到这了以后干嘛呢?装他们K,我们要把它装在Linux上面,但是他们K运行的时候,它需要什么呀?同学们都明白,我们Java的学习过程,一定是先学Java,再学他们K,换句话说,Catal琳a timem k,它要运行的时候,它是不是在需要。好,那么就像是一个什么同心圆叠花卷一样,那么我们的color这个是最底层,那么上面干嘛,我们装的是什么东东,是我们的center OS啊,那么3TIME o上面再包一层,就像千层饼叠花卷一样,他们看干嘛,它是不是需要有个Java接或者叫接DK8呀,那么再来最外面,现在各位亲。联合文件系统一层套一层,这个时候干嘛,最外面我们对外面我们暴露的是叫一个tomcat的镜像,但这个他mca的镜像,它要能全部用起来,需要有内核,需要生S,需要加JK8,最终它变成一个他CAD image,然后跑到这个大框框,这个集装箱里面,就是我们刀口清楚啊,那么也就是说你表面上看这个他们看。
10:24
不大应该。但是我们为什么会干出来400多兆呢?那么这个里面有可能有。干嘛?也就是说到最后我们可以看到Tom k实际上它是由多层文件构成,一层在上面一层的打包,那么最终它是JDK加center,将他K构成了一个精简版的基于Linux平台的一个他K,所以说他干这么多,那么这个时候能理解我们现在所说的联合文件系统这个花卷了吧,你把这个花卷跟这个比较起来清楚。
11:04
OK,那么接下来大家请看,那么它这个分层的这个镜像,我们可以看到它拉的时候,你看每一个前面是不是有个主键ID,每一个就是这么一层,那么说明比方说像mango GB,他也就拉了这么多层,比如说我们就拉一下吧,刀ER,反正也不费事,Mango,那么大家请看。那么呢,这个时候大家请看。是不是很多层啊,那么一样,这个时候就相当于说。一圈一圈,一圈一圈给它包圆了,那么这个时候就是我们什么。Docker镜像的零基于联合文件系统的分层原理,那么这个时候为什么doer要采用这种分层镜像呢?好,同学们,那么再再看,那么刀卡为什么要采用这种分层结构?想想。一句话干嘛?好处就共享资源,因为它多个镜像都有相同的贝斯镜像构建而来,那么宿主机只需要在磁盘上保存一份贝斯镜像,同时内存中就加载这一份,那么就可以为干嘛所有的容器服务,一句话,那么这个时候干嘛每一个镜像的每一层都可以被共享,那么啥意思呢?这个同学们哈,请看我这是不是加载这么多啊?
12:20
好,你会明显的感觉到哈。当你。第一次下载第一个镜像的时候会非常慢,但是后续如果你再下删了,或者是你再重新下载,会下载特别快,为什么呀?因为它会有一个缓存,它这个时候就是为了什么共享资源,所有的镜像都可以从全部的贝斯D下载而来,那么好,这个时候我们来看它这个镜像它的特点呢?都是只读啊,那么我们因为镜像不能去修改哈,我们最外层是不是读的是他们看。当容器启动的时候,一个新的可写层被加载到镜像的顶部,也就是我们这儿干嘛要启动,要运行的就是最外层,就是你拿一个鸡蛋,你也知道鸡蛋是由三层构成,鸡蛋黄,鸡蛋白,鸡蛋壳,但是你跟我讲,你正常情况下你能先接触到,先操作的,你不可能隔着隔着蛋壳取取物。
13:18
先去操作里面的吧,那么好,这个时候干嘛?通常这一层被通常为容器层,容器层吃下的都叫镜像,那么简单一句话就是什么呢?你吃花卷是不是一定是先吃最外面这层牙咬下去,那么就是在这儿,那么这个就对你而言干嘛才是?可写的,但是内部的话干嘛他就给你封装好了,最最外层这个暴露才是你看到的,也是我们的子弹壳,那么好,这个就是我们刀砍的镜像的一个,干嘛理念的讲解,我们就记住一个,它呢分层,换句话说是联合文件系统,千层饼弹花卷,一层一层嵌套出来的一个整体。
我来说两句