00:00
来,同学们继续,镜像容器、仓库实为docker的三个要素,那么这三个怎么理解呢?杨哥听不懂,说人话,能不能一句话给我讲明白?结合我们以前学过的Java,非常容易理解。所谓镜像就是Java的类模板。所谓容器,就是我们通过Java的类模板六出来的一个一个实例对象。所谓仓库,就是我们存放镜像的地方。好,那么下面请看,同学们都清楚,对于管大教育程序而言,一定知道这么样的代码。比方说,不可。B等于六。Book没问题吧。那么对于这样的。我们来尿,所谓的镜像就是指这个book book book,这三个book是不是同一份。他们就叫类模板,再加上这个层次,那么所谓的new book是不是基于同一份?
01:04
镜像模板,同一份Java对象弄出来的不同的实例对象,虽然说三个六他们一定是不一样的,它们的内存地址啊,但是他们的模板均来自一份,所以说等号左边这个就叫类模板,也就是我们的镜像等号右边扭出来的这一段整体就叫实际对象,也就是我们的多卡容器,那么所以说呢,我们在这儿占到多卡这了以后啊。Dota是一种容器引擎,它上面驮着一个一个的集装箱,每一个集装箱就是我们这个容器实力,那么一个一个容器实力你来自哪呢?你的源头在哪呢?就来自于我们的进气二。OK,那么假设啊,我们现do金鱼背上是个ready,那么假设叫R1,那么以前加吧,叫六出来,它不是,它是刀砍run出来,根据同一份。
02:00
这个镜像OK,那么这个时候它呢,就类似啊。金鱼。背上的集装箱。就是一个容器实力。OK吧,同学们没问题吧,而六出来这个是不是叫一个Java的实例对象啊,这个呢,就叫什么一个容器实例那么一样,假设我这个是要有。一主二从多台red,那么一样R1RR3,但是呢,可以do run run,那么我们现在这个run,这个镜像都来自于它,所以说镜像就是模板,那么这个容器就是我们run出来的通过同一个镜像获得的实际对象,那么它们两者可以参照着来理解,那么。通过前面的介绍,我相信大家应该很容易上手。第一个所谓镜像一卖。只是一个什么制度的模板?可以用来创建do的容器,注意一个镜像可以创建很多个容器,那么不同的镜像也可以创建不同的容器啊,镜像呢,当于一个什么root文件系统,那么把我们能够运行的源代码配置环境,第三方依赖包打包成一个镜像,哎,那么这样的话呢,相当于是不是有了一份模板,那么这个时候比如说我们用生瑞七啊。
03:23
这个呢,是它的版本标签啊,就包含了一套完整的3647最小系统的什么root文件,别忘了我们呢一再的强调今天我们要学的dota,它为什么比虚拟机要。快捷敏捷,就因为容器虚拟化,仅包含业务所运行的runtime环境啊,很小,那么所以说我们这儿这个容器只给你必要的,只需要必要的什么root文件,最小单元的Linux内核即可,那么这个镜像就相当于容器的源代码那一句话。多卡的镜像文件类似于Java的什么类模板,而多卡容器实例类似于Java中扭出来的一个实例对象,它们两者可以参考着对比着来理解和学习。
04:10
镜像就是类,容器就是对象实力。OK,好,那么这是我们的第一个概念镜像,那么这个搞懂了,我相信这个也不难理解了,Container容器,那么大家看一下。从Java面向角度的对角度来理解啊,Do利用容器独立运行一个或者一组运用对吧?那么也就是说,就像我们在这儿我们定义一个类,真真正正干活的是不是B1 B2 B3这个引用所指向的实例对象,各个对象之间的互相的互动和作用,完成了我们的面向对向变成让系统有机的。运行起来那么一样,我们doer run根据同一个镜像,你出来了三个不一样的RA实例,那么可以在docker上是不是可以做一主二同各种配置啊,都这么一回事,所以说呢,它呢,这些应用程序或服务呢,就会运行在什么容器里面啊,定义好了,镜像run出来了,刀开run出来的动道,那么就是一个容器实例,那么这个容器就类似于一个虚拟化的运行环境,容器是用镜像创建的什么运行实例?哎,镜像只是规定动作,正儿八经干活的是这个容器。
05:18
类对象只是个模板,正儿八经干活的是我们六出来的Java对象实例都这么回事,OK,所以说呢,它呢,就像Java中的类和实例对象一样,镜像是静态定义,容器是运行时的实体,那么这样呢,我们的容器实例就为镜像提供了一个标准的和隔离的运行环境,那么这个容器可以启动开始删除等等等等。那么说穿了,这这头金鱼备上这个集装箱可以被安装进去,是不是也应该可以被卸载下来呀?哎,每一个集装箱这个容器都是相互隔离,保证了平台的安全。那么这是从面向对象的角度,那么从镜像的角度呢?我们把容器看作是一个什么简易版的什么离那个环境和运行在其中的一个应用程序。所以说在这儿。
06:05
你要明白你do run根据某一个镜像run出来的这么一个容器实例,其实啊,它呢,就有两部分构成一部分,那么同学们请注意,就是我们的一堆。最小最核心。赖以。生存的。Linuxx。内核文件。那么不需要的不加载,OK,那么好了,这个呢,就是我的底层,那么上面这个呢,我们是个什么red容器,哎,那么我们的red类似于就装到了我们这个Linux上面,那么这个时候red,那么我red需要用的这么一个动道,就有这么两部分构成,好那么所以说它呢,这个容器实例就可以看作是一个简易版的什么Linux环境,包括了root,用户权限,进程,用户空间,网络等等和运行在其中的一个应用程序,那么在这儿我们这个应用程序就是red啊,到后面我们更深入的命令和。
07:11
讲解以后,大家会更清晰的理解,在这儿请先理解这三大要素即可,那么好,这个就是我们的什么container容器,那么第三个什么东西残酷。仓库干嘛的?就是放镜像的地方,我们镜像是模板,是容器的源代码是它的源头。那么我们。鼓励商城源代码配置文件,第三方依赖包运行好的这一套打包成一个镜像,然后都得存在一个地方吧,对吧,好比大家在idea里面。编完代码,编完工程以后,把它变成了一个什么GI项目,大家是不是push推送到我们的GIHUB或者我们的G马云上面,那么相当于这个作用就叫仓库,那么来同学们,仓库repostery是其中存放什么镜像文件的地方?
08:00
类似于美仓库放各种架包get HUB仓库放各种getate项目,那么docker公司提供了官方的仓库,就称为docker HUB存放各种镜像模板的地方,那么一样啊,在这儿我开玩笑的说一句,你看这是不是叫。Do,那么假设啊,你搜一个red,那么大家请看,这块就有N多种镜像,那么在这就告诉你,这些镜像都是官方认证过可以用的,那么从此以后,你就不必再像以前那样对red要进行什么。下载这个red安装包,然后呢,装那些GCC,然后在make make in store,你直接doer run一个red就OK了,当然这个我们后面聊啊,那么也就说在这个docker HUB上面就给你安装好了一大堆的什么red镜像,那么你只需要运用docker run来自于这个镜像,立刻就可以在。Do容器上面获得一个什么doer。下面的实例好。
09:00
那么这个就是我们的什么仓库,那么但是呢,在这儿啊,仓库呢,分为公开库和私有库两个,那么现在啊。请听好重点。由于在中国大陆某些众所周知的原因,访问国外的网站是比较慢的,我们一般不再用docker哈,一般我们用阿里云,那么就是我们的什么公开仓库或者私有仓库,你在你们公司搭建一套内部版的。仓库,那公司内部版的docker哈,啊,所以说呢,我们分为公阔和私库,那么全球最大的这个公开仓库就是哈b docker的。com这个啊,就刚才我们也看到了,那么在国内一般我们有阿里云和网易云好,那么这三个就是镜像容器仓库就是DOCKER3要素,那么小总结走起。来,Docker本身是一个容器运行的载体,或者称之为管理引擎啊,Doer呢是一种。
10:01
容器虚拟化技术,Dota引擎主要就是跑这些容器实例来干活,一个个对象一样的,那么这些容器实例就来自于镜像,好,我们一般呢啊,比方说鼓励商城的Java程序配置文件依赖环境打包好,形成一个可交付的运行环境,这个可交付的运行环境我们就把它打包成一个image镜像文件。那么现在只要你运行我这个镜像文件,100%我走什么样,你肯定也走什么样,完成系统的平滑迁移,那么只有通过这个镜像文件才能生成。我们的doer容器实例类似于Java中你传一对象,所以说镜像文件可以看作是容器的模板。do根据镜像文件生成。具体的一个个容器实例,同一个镜像文件可以生成多份同时运行的容器实例,那么像我们这儿是不是同一份RA的镜像可以生成三个不同的red实例,但是它均来自于同一份镜像文件模板,那么所以说镜像文件一麦文件生成容器的实例。
11:10
本身也是一个文件镜像。第二个容器实例,一个容器运行一种服务,可以是n myq mango DB等等等等,我们需要的时候就通过docker的什么客户端创建一个对应的运行实例,也就是我们所需要用到的容器对象。第三个仓库存放一堆镜像的地方啊,那么我们可以把镜像文件发布到仓库当中,需要的时候再从仓库上拉起来,那也就是我们的类于我们HUB,类似于美门仓库,那么这个就是我们DOER3要素。
我来说两句