00:00
好,那么呢,上一讲我们讲了docker镜像的union FS联合文件系统,知道了镜像是层层叠加的,那么好,最终一层套一层,对外暴露出一个整体,那么接下来我们呢,就要通过我们的命令和案例,让大家加深对镜像的实际操作和理解,好那么此时我们大家呢,往下看,这个时候我们先回到我们的常用命令干什么呢?来。大家请看。这是不是个doer?说过doer commit的时候,如果同学们想到get,是不是一定有个get commit,这是第一步,第二步,容器命令干嘛?放心,老师没讲的都记着呢。怎么着,我们这儿是不是还有什么大P和小写的英文字母P没给大家讲啊欧了,那么这个时候我们来看看这么干。
01:06
Do me提交容器副本,使之成为一个新的镜像。什么意思呢?哈,同学们请看,现在我倒开,哎呀。叫错了。那么我docker images,我们的本地库是不是有四个镜像,其中有一个是不是我们的他看好,那么这个时候。干嘛呢?我们现在呢,需要把tomcat给运行起来,然后基于我们运行的这个time k是不是一个容器,那么如果我们在当前运行的这个容器上面做了我们自定义的修改,然后我们在把当前这个容器弹密,又可以形成一个新的镜像,以此类推,这么说能理解。好,那么这个时候。
02:01
你看哈,那么呢,给大家呢,来看一下哈,那么案例演示,我们先把案例弄完了再来说,你就记着看。正常情况下,我们是不是以当前这个已麦集运行一个time cat,然后假设正正在运行了以后,这个time cat我们做了一些我们自定义的设计和调整,然后又把它变成他了以后,又把它变成一个符合我们需求和定义的一个新的镜像,那么下次我们就可以不用这个原始的这个出厂的这个镜像,是不是就可以用我们自己的自定义的这个镜像了?哎,换句话说就是什么,比方说你买一部车回来出厂默认设置。他根本就没有这个导航雷达,但是你现在呢,觉得呢,干嘛呢,我就想自己改车,给这个车加上导航雷达,又装了个翅膀,装了各种魔杆,OK,你这个车不但能开,还能飞,那么换句话说是不是一车两用,天上是飞机,地上是汽车,那么这个时候依照你能够做自己修改了以后,能跑能飞的这个车,这个实力,又把它形成一个新的飞车模板,那么你这个干嘛,是不是在下一代的概念型汽车。
03:20
出来了,好,那这个时候请看,我们就以他们看为例,走人,那么呢,怎么提交?至于说这个命令,待会我们聊做通了你就明白了,其实你看get commit-M啊,是不是要提,提交的描述信息最多,这就多了个A,什么意思啊?作者,还有什么容器ID,那么就是你当前正在运行的这个容器,当前正在跑着这个车,你改成这样了以后,你觉得这个是2.0版的新模款,新款新模板,我要把它提出来,形成一种新的一套标准,形成新的一个样式,这个标准,这个样式就是我们的新的镜像,好大家看我们从HUB上向着他们看到本地。
04:04
并运行成功。那么什么概念呢?这个时候请注意我们刀卡,来吧,我们彻彻底底再学习一下杠it交互哈,那学们doer image。本杨哥本金是已经有他们开了,所以说doer RA-I,注意这个时候我们先写小P,什么意思呢?P是do破端口的英文缩写,基本上它这个小P是这么个意思啊。主机端口和刀卡容器端口,那么好,I是交互,T是返回一个终端杠,I不多说了,那么我们先说小P,小P的意思什么呢?地球人只要小va工程师都知道他们开默认端口是不是8080,那么以前你是装在你的Windows上面local hosts的8080,是不是出现了一只猫,你要懂这个不再废话,但是现在你要搞清楚啊,你现在不是直接去访问他们,看你现在是直接要去访问doer,访问刀ER上面里面的,他们看他爬到金鱼背上去翻那个集装箱,那么这个时候第一个屁就是什么对外暴露的doer可以访问的这个比方说我们就要8888 OK doer的8888对应着我们doer里面的端口,他们开的是默认的8080,这一步能跟上。
05:32
OK,那么如果你不加这个啊。你是访问不到的,OK,你看不到你什么,那么这个时候走着,那么呢,我要运行哪一个呢?当然你这个端口可以。一致啊,我故意写的不一致啊,也就是说假设你说,哎呀不想麻烦了,反正我们大家都默认都是8080访问他们看,那么我叫doer的对外暴露的服务端口也叫8080,内部的这个真真真正的这个才是我们的实体的这个也叫8080,当然一般我们local host他们看8080是不是都是指他们开的808,他们看的默认端口8080,这个不用多说了吧,好了,那么这个时候干什么呢?Do开RA,你运行哪个镜像运行他们开一回车。
06:14
大家请看这个。是不是他们开的启动了,换句话说这个是叫什么,这种东西是不是经常在eclips里面或者idea里面就会看到他们开的启动,就啪啪啪的各种日志打出来,那不多说废话,那么正常情况下。干嘛呢?我们呢,就可以怎么干。来兄弟们,哎哟,这稍微有点慢哈,那么来同学们local host注意,我现在8888反问谁反问的是doer,那么doer的8888映射的端口是谁?是不是doer里面的那个time k8080啊,那么所以说此时我一回车,那么呢,如果一切顺利,大家看我现在刀ER里面跑了一个他CA容器实列8.5.32,那么这个时候跟我讲,我们是不是就彻彻底底完成了我们的干嘛刀口里面启动他们看的操作呀,OK,所以说这个时候我们的玩活,那么接下来。
07:21
退出,为什么呢?别忘了我现在用的是小P,能跟上小P是指定端口,别忘了我还有一个。参数是大批,大批什么呢?大批叫随机分配,好,那么大家请看。还是一样的命令,大P他们看一看。回车。OK,那么这个时候请看。Do。那么这个时候大家请看。什么鬼?32768。
08:00
明白,那么这个是doer,是不是就是我们前面这个命令大P所分配的映射端口,但是doer里面的他K永远还是8080,那么这个时候请看doer PS-L。那么好一个哈杠N3。大家诶,怎么找不到,刚才啊已经关了是吧,那么do PS杠。N5。好,那么刚才我本来还想让大家看一下那个端口映射的那个8888~8080端口,那么这个时候因为它有端口映射一停了,这个端口映射就没了,所以说它没有显示出来哈,就找不到了,好,但是这我们可以清晰的看到当前正在运行的,那么怎么着,那么这个center不要管哈,你看这是上一节课讲了一个小时之前了,对不对,你看59秒钟以前,我们是不是刚刚起了个32768这么一个time k呀欧啦什么呢,来试试啊。
09:00
好,那么呢,等它启动我们呢来看一下,那么在这都给大家呢,可以看到干P随机分配的端口外部32768,那么我们访问的时候是不是也就变成32768了,好一样的哈,那么这些那么请看此时别放到是32768,好那么它内部的分配规律不要管它哈,那local host32768,那么这个时候如果一切顺利,各位亲,你看是不是又看到他们开了,那么此时如果我们的原来的那个8888,那么呢,你懂的。根本就没有了,OK,所以说他们开头访问失败,走然接下来继续,我们呢,干什么呢?请看此时这个。32768。这个端口里面我们点开document,大家懂的,这个里面是不是有啊,也就是说我们从阿里云下面,从阿里云上面拉到我本地的,他们看他。这个document。
10:02
它是有的,有他们看的说明文档,那么假设根据我们刚才所说,我们正在运行的这个。我干坏事,我把这个文档给删掉,那么你懂的,此时这个他们看干嘛,他是不是再去访问的时候,这块就会访问404啊,Not find找不到报错呀,然后呢,我就以这样一个在卡密,也就是说假设我就做了一个不需要文档的这么一个time cat,拿这个不需要文档的这个当前正在运行的这个容器又形成一个新的模板。那么你想你知道这样会导致什么问题,只要你后续拿这个新的模板。来运行的话,新的镜像来运行生成的新他们看的容器什么都跟一样,但是点这是不是永远访问不到啊,因为它根本就没有,所以说OK,我们来看看。完火以后,我们在这儿故意删除上一步镜像生产他们看的容器的文档,那么干什么呢?我们呢,这个时候你看上以前我做的是不是8888,哎,算了,那尽量的跟我的文档统一,那么这块的话呢,干嘛呢?
11:13
来同学们,现在我们呢,给它运行起来,那么这个时候大家在这儿do PS啊,那么这个时候大家娄看到8888了吧,那么呢,怎么玩呢,我们呢,产生进去了以后干嘛来。现在他们开前台交互这eclipse这些日志打出来,我们现在8888。OK,点开文档都能访问挺好的,那么这个时候我呢,Doer PS啊。运行的是这个容器,好,那么呢,刀卡ex ec,你用哪个都成哈,那么杠I,那么这个时候我要运行的容器是这个,那么呢,BBAOK,大家请看当前是不是这个路径LL。
12:13
它不支持LS杠癌,大家请看我这是不是有个web apps啊,那么CD。Web apps,那么来在当前路径下面,大家请看是不是有个DOS,那么不客气了,删掉RM-RF。Docs我一删LS没了吧,没了以后,那么这个时候我们打开火火。然后呢,我们此时是不是当前正在运行,所谓当前正在运行的这个容器实例,是不是这个,那么在这个实例上面是已经没有这个文档了,那么打开我们的local host8888。大家可以看一切都一样,我点哟,还有为什么缓存我刷有没有了,没了,那么这个时候请看我再到这一步我点怎么着,Not find,为什么?因为当前我这个他开的容器,我是不是已经把这个文档给干掉了,那么接下来当前正在运行的这个容器,我呢,用doer卡密命令,又让它形成我自己做的一个没有文档的他开的镜像。
13:23
清楚了,那么这个时候请大家看。我们呢,也记当前的他们开的运行实例,是一个没有文档内容的容器了,以他为模板,卡密特,一个没有文档的,他们开的新镜像,比方说我就要这么一个能跟上,哎,还能干着吗?什么意思啊,前缀这个叫命名空间,OK,那么这个时候啊,不要觉得奇怪哈,见过,那么这个时候什么意思呢?那么同学们。我们再来一个比方说我们直接去。刀,Car search,他们看见过吧?
14:00
大家请看。刀,他们看我一查。出现什么?大家看是不是都有一些前缀的名字啊,哎,你就把它当做他们看的是类名,前面这些就是包名,能理解OK,好,那么呢,命名空间的意思,那么这是规范一点的写法,那么好,那么接下来同学们搂眼。刀卡啊,那么能一回车或者是他们看他,哎呀啊,那是镜像写错了哈,刀开,那么大家请看现在是不是有这个哥们8888好,那么呢来吧,我们呢提交,那么怎么个提交法呢?那么呢来照照着命令do塔密,那么这个时候。刀塔卡密杠A,那么这个A,比方说就是杨哥,那么这个杠M,那么这个就是。
15:01
那就这样吧。他们看着他。With docs能跟上,那么言下之意这一步,那么就是干嘛加。作者加干嘛?标准信息,这个是当前正在运行的容器,然后你给他命个名字,你看这个时候我不再是latest了吧,我自己乱标了一个版本编号,Tag标签1.2,那么这我们呢,稍微修改一下哈,这块等于。那么OK,那么这一块等于OK。那么以这个他们开。为例。我点,那么然后呢,我们呢,按照这你这我建议我们都统一用硅火好吧,那么呢。At硅谷,那么假设这个就叫么,他们看它然号冒号那么1.2版本,那么这个时候干什么呢?回车那么欧了,他就重新你看打包生产那么。
16:07
Do。Images,大家请看这个,他们看看是不是我往阿里云默认拉下来的,没问题吧,这个他们看,那不用讲,是不是一定是我自己造的呀,那么O啦,那么我现在要干一个什么事呢?比方说do PS啊,杠Q,那么只有两个我现在哈,那么这样刀卡RM-F刀干嘛?刀卡啊,杠Q把正在运行的容器通通删光了,通通删干净,好,那么大家请看刀卡啊,现在是不是一个容器都不运行着,那么好删的东东,我们来看这边一删了以后是也就自动退出了,完活,那么呢,一步步来吧,来,同学们请看。都关了重新来。那么现在。Doer images,我们可以知道有两个timeca来,不管怎么说,刚才我们运行的时候删了一个文档,然后已删了文档的那个容器实例那个弹,是不是自己做了一个1.2的这么一个,那么好,我们先运行我们自己这个,看看能不能成功运行DO1卖入杠it。
17:19
谁是不是这话,那么呢?打开,然后冒号1.2注意。不写是latest,但是你这根本不叫latest,叫几点二,所以你给我写全了,然后在这块,那么呢,我们干什么呢,一会车。好,那么这个时候干嘛呢?我们呢?这一步不合适,因为我是不是没有指定端口啊,没有写那个P,那虽然说它启动,那么这个时候访问的话呢,没有对外暴露端口映射不到,好这块手误,那么杠P,比方说这个时候小写7777,那么呢八零。
18:00
八零好,那么各位同学如果一切顺利,那么言下之意是不是通过访问DOER777端口,就能访问到doer容器里面的这个,我们自定义的这个。呃,这个at硅谷的他们看啊,那么好,这个时候。回撤,那么OK,那么呢,我们再打开我们的火狐,然后我们来访问一下。好,那么呢完成那呢在这一块哈,当然这个我老图的这个名字你随便起哈,那么呢来,那么现在呢,已经换成了7777LOCAL host7777来。没问题吧,那么呢,但是这个时候请看我。怎么着,7777,这个是我自己刚才删了以后,又重新形成一个新的镜像听懂运行,我这个在这儿的这个多少,是不是就我们在这儿的这个1.2版本的这个呀,没问题吧,能不能这个时候带来的直接结果,我天生就不带着文档,所以说干嘛我用1.2这个版本。
19:06
没有找到,OK,好,那么这个时候我们呢,再回来。干什么呢?Do卡如尔刚I小P,假设我是7788,那么能8080,那么现在是他们看是不是从阿里云上拉来这个默认出厂这个,那么我们再来,哎,啊doer写错了,嗨,那么这个时候是不是doer run-it那么请看。他们看到后台启动,那么这个时候干什么呢?我们呢反问的是端口号,我看看多少来着,是7788,是一个新的,能不能。欧了走人,明白了,Local host7788走人,大家看这个时候我点开有没有完全存在,而这个是我们默认的那个,所以说大家请看我们现在是不是通过不同的镜像运行了不同的容器实例,一个有文档,一个没文档,OK,那么所以说现在我们来对比了以后就会发现,直到我们的哎,硅谷他们看啊,它没有doc。
20:14
Not found,这是我们自己的,然后如果启动,原来他们看它有doc,这是阿里云上默认出厂的,那么这个时候能不能理解我们所说的提交?容器的副本,使之成为一个新的镜像。就干两个事儿。和A,那么容器ID,换句话说什么以前我们使用镜像生成的容器实列,但是反过来是不是也可以根据当前运行的容器实力的实际状况又生成新的镜像,这个是不是有点类似于Java里面的反射啊?哎,累到十列实例可以反过来得到类的信息,那么这样的话呢,基于我们自己的干嘛说明do强大到什么地方,通过镜像的这样东东,我们是不是可以获得最好的我们自己需要的自定义的东东啊,OK,那么来。
21:05
下面我们再来看看,这边我先退出,这个我也退出好,那么我们再给大家呢补充一点是吗。Run-D相关的知识,那么这个时候请看do PS啊,一个都没运行,那么刚才我们知道的。刀砍run-I7P,比方说7777,杠号8080,然后我们运行他们K,这个时候同学们你懂的。我们现在一运行的话干嘛呢?如果说哈,我这请看一回车,请问是不是前台就打印出了这些日志,那么这个叫前台运行,或者这个时候就是我们前面所讲的什么东东,交互式容器,但是假设我现在是守护,我想给他后台运行呢。那么这个时候你知道的。
22:02
我们呢,现在docker PS你反问。我们的7777能不能看到完全可以,那么这个时候请大家看这是7788,那么这个时候我们7777能不能访问我们他们看他O吧,好,那么什么叫后台访问呢?Do软干D大家请看,然后呢,我们呢,直接。To k,那比方说哈杠P,现在我们呢,就写一个6666-8080,然后time k。这一步能跟上好,那么这个时候请大家看它的效果。一回车。还有没有这样?哗啦哗啦哗啦哗啦,这么多日志呢,根本就没有,那么这个时候请看我们docker PS大家看是不是一个是6666以后台方式启动,一个是以7777以前台方式启动啊,那么这个时候我们呢,回到我们的这6666。
23:08
回撤。露是不是依旧还能访问?肯定嘛,为什么是不是两个up,但是前台和后台它们的效果是不是完全不一样啊?哎,所以说同学们一定要明白杠D和杠it,那比方说我现在就不想有这么一个窗口,我就想让我的他们看在后端好好的运行着就行了,你别打扰我,那么大家请看,现在他们看到我只是不是安安静静的返回这么一个动道。OK,好,那么呢?我们呢,在这儿就获得了我们相关的内容,OK,那么呢,在此前复习了一下杠it和杠D这种两种方式的启动和不同,那么呢,这块我们呢,一定要注意看作者提交信息容器ID哈,然后你自己起一个干嘛,明明空间。镜像名字以及我们的最新的tag版本标签号,那么这个就是我们对卡操作的补充,以及镜像的理论和案例的说明。
我来说两句