00:00
好,那么同学们,我们呢?完成了常用命令的帮助命令部分,那么接下来我们来进行是吗?镜像命令相关的讲解,好,那么呢,我们现在呢,回到我们刀卡的logo,那么再和大家强调一遍镜像和容器它们俩的关系。镜像相当于我们的内。模板,一个镜像可以生成多个容器实力,那么现在呢?这个大金鱼,那么现在我们的模型是不是干嘛呢?金鱼背上有集装箱啊。那么换句话说,金鱼游在什么地方,是不是干嘛蓝色的大海里面好,那么这个相当于就是我们的宿主机系统,比方说目前我的呢,就是什么东东,WINDOWS10,那么在这个上面我们呢,有宿主机上面装了刀砍,那么这个时候我们现在是不是这只大金鱼就是我们的刀卡,那么呢,上面的一个一个的集床机,那么呢,这个呢,是不是就是我们的一个一个的容器实力,那么这哥们容器实力。
01:20
哪来的?那么呢,来自我们的镜像模板。这三者的关系O吧,好,那么接下来。我们呢,开工。镜像命令第一个DOS images什么意思呢?列出本地哪的本地的啊,听好了这个镜像。是远程仓库的还是本地的?一定运行的是本地的哈,那么呢,这个时候我们可以看一下我们的演示的命令效果,那么呢,Docker images。
02:01
大家请看repoy tag image ID created。卷标大小,那么这个时候这个是表头,而这个就是当前你主机上能够运行的镜像的。模板,现在我们是不是只有一个镜像hello word,那么所以说前面我们用刀砍run,还记不记得写了一个hello word,那么这个时候说明什么?Run的时候就去看本机上有没有这个镜像,有的话就依照这个镜像模板生成一个hello word容器实例,然后开跑,就这么回事,那么好,这个刀car image呢,自然而然。我们来看一眼。我们这个比方说现在我们后面会讲他MK,那么呢,还有其他的我们一些常用软件安装,那么这个poy表示镜像的仓库源,那么呢,这个tag表示镜像的标签image ID,那么相当于什么?这个就是一个一条记录的主键,1IMAGE ID,你就把它当做这个红框,框是一张表,是表头,这个表头有这么多固定的1IMAGE ID就是主键。那么换句话说,后续你操作镜像,既可以操作唯一镜像名,也可以操作镜像ID。好,那么创建时间,镜像大小,那么再说一下这个tag默认我们前面是不是hello word我们也讲过,屁股后面是不是有一个冒号latest,如果当时你不写,默认就是latest,如果假设你这个不是最新版本,比方说是一点。
03:38
八版本,3.2版本,那么你就写个冒号,写个3.23.8,证明你下的版本,那么也就是说我们使用reportery冒号tag来定义不同的镜像,有点类似于我们get干嘛?同一个库可以定义不同的分支,好,那么说白了就是一个镜像的版本标签。O了,那么这个时候的话呢,来漏眼它呢,有一些常见和常用的参数需要给大家说明,那么第一个。
04:07
Q和A,来,我们来来看看,那么呢,Docker images杠。哎,这个时候大家请看,诶为什么这个。是只有一个,为什么这个A会有全部呢?那么这个A代表A,那么我们前面说过,镜像是分层的,换句话说哈,你就可以把它当做,因为后面哈,我们这呢,先。呃,不再过多的展开,只是大家过一嘴。这一章完了以后,第四章杨哥是不是带着大家详细讲解镜像啊?你不要觉得会操作你就牛逼的,那只是API调用,工程师一定要懂原理,面试的时候人家会问你,那么切记什么叫列出本地是吗?我是所有的意思含中间镜像层那么简单,这先提前剧透镜像呢,你就可以把它当做是什么千层饼。
05:04
一卷一卷一卷套这个千层饼,花卷这样的,一层套一层,一层裹一层,我们最外面看到的是hello味,但是hello味它里面还有一层,那么这个,那你大家呢,就要明白,也就是说我这个hello word就有点像一只鸡蛋,你表面上你手的拿到手上的,你拿的肯定是不是鸡蛋壳,但是鸡蛋壳里面还会有鸡蛋白和鸡蛋黄,那么镜像是分层的,那么这个具体我们后面会说,你现在就记着镜像就是千层饼,就是花卷好吧,一层裹一层,那么最外面暴露这层就是这个灯刀,好,那么现在我们来看。来。Q。什么鬼?是不是只显示当前镜像的1MYID啊?那么这两个命令呢,可以?查询起来了以后组合起来又,那么QA代表就是显示当前镜像的全部镜的ID,那么言下之意,如果后续我们进行复杂操作,干嘛要删除多个镜像,那么我们是不是通过这个命令就把我们需要删除的镜像的ID全查出来,传给另外一个docker删除命令,那是不是可以批处理操作批处理删除,为什么?因为它返回的是ID,相当于是不是唯一主键啊?好,那么这两个再来。
06:28
请看上两个是什么什么东道只有一个井号,下两个呢,可是有两个,那么这个时候请看显示镜像的摘要信息,那么dest就是说白了就是那些备注说明,你给我说清楚了,那么你看doer image,现在呢,我本机只有一个hello word这么一个镜像,那么这个时候干什么呢?我们呢,直接粘贴。大家请看跟上面对比出了个啥,是不是有这么一个hello word的这么一个说明啊,OK,那么呢,这个时候干嘛呢?如果我们有其他镜像,比方说我们待会会演示哈,比方我们又下载了一个其他的镜像,比方说他们看n mango DB,那么它这个说明就会丰富和多一些,我们就能看到这个待会我们演示,那么你就记着这个是什么,显示摘要信息,有点类似于什么备注,要没有就没有,有就是有,那么大家再来看那个串口,就别截取显示完整的镜像信息,那么就是对这个镜像信息的一个完整性的一个说明,那么好,假设你这个镜像是拿来干嘛的呀?
07:31
大家看。不用没有截取了吧,什么意思啊,你看前面。干嘛,我们这个镜像的ID是不是只到这,那么大家呢,可以把它拷下来,然后大概一张多少,那么是不是12位左右啊,但是如果你想看完整信息的话,不要截取,那么这个时候你看这个ID看的是不是更加详细的啊,那么所以说呢,我们在docker你卖几这主要是Q和A这两个比较常见,那么它的表头信息在这儿都给大家,那么注意后续。
08:07
有一个关键的属性呢,请大家呢简单的了解,那么什么呢?就是这个大小哈,待会我们会下center瑞U班图,其他的Linux操作系统也可以跑进doer里面,我们来看看我们的生到底多大。好,这是我们的第一个命令doer images罗列出本机。主机上的宿主机上的本地的镜像以及相关的信息。来docker search某个镜像的名字,那么这个呢就比较热闹,来它这个search什么意思啊,是去docker HUB上面去查询和查找,那么这个时候呢,干嘛呢?可能部分同学呢会觉得奇怪,哎,老师你不是已经给他配成阿里云了吗?那么注意阿里云我们更多的是干嘛。他查是从这儿查刀卡,但是拉的时候下载的时候是从阿里云上下,OK,那么呢,这个时候我们可以看doer HUB,那么假设我们现在呢,干嘛呢要。
09:08
Do search某个镜像的名字。那么此时哈,同学们。我们就是没甲,大家根据前面的基础也应该有个search,比方说我们就他。OK,那么言下之意,这个时候我一查。大家请看,这个就说明什么,他从get HUB上面就查出了有Tom cat镜像,还记不记得我们前面说过get HUB上面存放了get。仓库包的那些代码,全球的爱好者都往giit HUB上面传,那么一样,Doer HUB就像GIHUB一样,它就是一个一个的镜像文件,再次强调仓库是存放镜像的地方,那么这个时候我们呢,就可以获得,在这块的时候我们可以看到,如果我们这儿用time cap is,大家看这是不是有office官方版,那么在这请看名字啊,Tom k,这个Tom k,就这个Tom k,为什么?
10:08
1900个stars stars什么意思啊,相当于get up上面的吸引,换句话说就是咱们的点赞数,这么说清楚啊,哎,那么这个时候他的意思就是说我们现在呢,Doer上面去search,就去HUB doer HUB上面去找这个他们看的镜像有没有,而且还不止一个有这么一堆堆堆堆,对对,那么呢,为了避免大家都叫他们看,那么呢,唯一权威的什么意思啊,官方版。那么能跟上。那么这个是automated,是自动构建的意思,自动组组装,那么这个你不用管它,那么这些就是官方版的,那么请看阿尔法奇,他们是一个开放的源,什么什么乱七八糟,这个是不是一些说明啊,那么换句话说,这个命,这个命令,它这一小段的出现就是我们在这,那么来同学们请看。哇,多少是不是从他们看的七一直到他们看的九都有啊,那么命令大家看。
11:05
Command docker pool他们看它什么意思啊,相当于说这个是不是就往这个镜像库里面拉下来呀,OK,那么呢,这个就是我们的docker search,很简单,你需要干嘛,Doer操作哪一个东东,你先去下载相应的进去啊,然后用容器来获得实力运行再使用,那么这个镜像我们就去找找,现在呢,在doer哈上能找到,那么怎么拿下来呢?就用它好,那么它对应的。Option,那么呢,有这么几个,第一个。最重要的小S S什么呢?就是这个点赞数,那么以这个呢,还是比较有用,那么言下之意,同学们比方说这个是最权威官方版的,有1923个,而这个呢,零杠或者一个,那么从你自己的使用角度而言,你希望用什么,那肯定是不是随大六用主流的呀,那么它这个意思什么意思呢?刀car,四杠S,他K。
12:04
或者说是什么呢?杠S就是说点赞数,比方说我们要一个点赞数超过30的,他们看看你不要把所有他们看的这个罗列,这个命令非常有用,那么换句话说,比方说我们觉得这个稳不稳,那么用的人越多,大家发现的问题越多,说明这个镜像是不越稳定啊,点赞数越多的是不是越受欢迎啊,无啦,不用多说,那么这个时候请看他一色侈大家看前一波有这么多,那么现在是不是过滤了以后点赞数星速超过30的罗列呀,哦了,好,下面干嘛一样那串考那么呢,不要省省略,那么现在我们也这。干嘛呢,粘贴大家请看,这个时候你看。这个时候干嘛,我这个说明上一版它是不是说明被省略了,但是这个时候说明没有被省略那么完整的摘摘要信息。那么第。
13:01
三个autom媒体的只列出自动构建的镜像类型,那么换句话说就是罗列出这个autom媒体的OK的好,那么这个呢,我们呢,加一个参数,那么呢就不再演示,同学们可以下去呢试试,那么重要的呢,是这个S好,那么search就是去up上面查找有哪些镜像,那么当然了,如果说还有其他镜像,那么我就不多说了,会用吧。那么假设我们现在查N啊,那么你懂的,你看这是不是有超过九千点赞数的N啊,那么一样。说都不用说,我这是不是换成什么search的,以后查从这换成什么,用search命令把他们看换成engines,那么是不是就相当于说通过我本地去have上面去查找是否有engines这个镜像啊,那么呢,举一反三,Red mango DB等等,不用我多说了吧,哦了,那么好。接下来。啦,那么换句话说叫什么下载镜像,那么言下之意就是把远程的doer HUB上面的镜像,当然现在我们说过了下载我们为了国外的网站比较慢,我们是不是改成阿里云了,那么能干嘛?就这个好,我们就起我们大家所刚才查过的,那么首先docker images,大家请看当前我本机是不是只有helloard这一个镜像,那么现在我呢,Doer search-S,比方说点赞数超过30的,他们看的你给我罗列,那么现在大家请看咋地,现在我们是不是下这个,那么这个是不是名字叫他MK,那么就是用刀car。
14:38
To,然后他们看着,那么呢,如果为什么要这么用的同学呢,都知道,那么不多说。刚才可以看到我们这是他们看他这个是官方认证的。拉下的命令是不是就这个,但是注意,这个命令你直接拷贝一张就能用,但是注意,我们现在如果没有写这个命令,等价于。
15:08
这么说能跟上,那么也就是说,就算你省,你这你看这个标签是不是可以省略,如果你给它省略了,就代表你拉的就是。Latest最新版秒懂有点类似于我们定义一个类,比方说public class不可这么累,那么它是不是等价于什么东东?Object不懂,不多说了吧,能跟上欧了么?这块那们就记着没写版本号代表下最新版本自动添加latest,如果你写版本号,比方说你这写的是3.2啊,抱歉3.2,那么说明你拉的版本就是他们K 3.2的版本就不再是最新版哈,那么这我们呢,用最新的直接拉下来,那么呢,OK,那我都写好了哈,那么这个时候那么doer pulling他K。
16:08
拉。好,那么大家看连了阿里云以后是不是特别快啊,你看国内的访问是不是要比国外的网站要快很多,如果你不物连阿里云或者网易云,你自己去连国外的doer哈,我跟你讲这个他们看哇,老半天了,好,那么这块我们呢,等他一下,我们先暂停一下录屏。好,那么呢,这个时候我们可以看我们呢,Do car to k,那么呢,Latest最新版pull from to k能么能拉,大家可以看这些呢?啪啦啪啦啪啦啪啦啪啪啦是不是啦啦啦啦,注意你可能会同学说老师你这个是不是从阿里云上面去拉一个镜像啊对,我们前面是不是说过镜像是千层饼,像一层一层叠在一起的花卷,镜像是分层的,大家看这个是不是每次都是12位的一个I idea,那么说明这个timeca,所以外层暴露的就像鸡蛋壳一样,你看到他们CA,但是这个里面也有其他镜像呢,一层一层的叠加。
17:10
优化出来的,那么最后我们讲下一章,我们讲刀客镜像联合文件系统的时候,我们再诉说,那么这个时候请看,最终我们可以看。干嘛得到这么一个说明,最终我们最外面的这层就是他们开我们能看到的,以它为准,你看下载的最新的镜像他们t latest这个仓库名称冒号加tag标签,好,那么此时请看doer以MY。怎么样,那么同学们是不是除了hello word开始啊,我们现在又有我们新的tomca这个镜像,它的镜像逐渐ID,是不是叫这个东东啊,那么言下之意,这个时候就说明我们拉某个镜像搞定。好,那么接下来RM什么意思啊?RI remove image代表删除某个镜像,那么呢,好,同学们请看,那么刀卡RI。
18:09
来上哪个镜像呢,我们呢上。这个,那么这先提前说一下,老规矩,还是那句话,如果你没有填后面屁股后面空白什么都没写,那么默认。Latest能跟上。好。那么再。说穿一点就是如果说以后你下了多个time,没写代表latest,但是后面我们会随着技术的越来越复杂,我会讲哈,这我先提前剧透,假设这个helloard也有一个版本号是3.2,如果你不写这个3.2,那么他删的是哪个?删的是latest了?能跟上,所以说这个操作细节要明白那么好。那么现在,那么请看这个时候一回车哟,他说是什么。故意的哈,这块来。From DEMO,你看这什么意思啊?
19:01
故意给大家删错哈。那么。这个是不是要doer DEMO速主机上面这个doer引擎啊,那么它是一个后台的线程它来处理。主人,你跟我们这个docker的交互,我就是这个主线程complete冲突,不能够删除这个东东,你看这个东东,这个image idea是不是这个hello word,为什么?因为这个容器后台我们跑这个容器正在使用这hello word前面我们是不是跑过一个请use-f to focus,干嘛强制删除,所以说最终的那么导致删不除删不掉的原因是这个,所以说干嘛最终的结论删除镜像失败,Hello word,那么你应该怎么删呢?好。杠F,我们强制删除,那么O了,那么请看我们说过镜像是不是分层,那么你看你删的hello word机器里面删除的是不是镜像加标签名,你看其实而言你删了几两层,那么他刚才你看CB啊,什么乱七八糟的。
20:02
这个CBD这个东西,那说明它是不是有里面干嘛运转着一层啊,那么O了,所以说这个时候我们彻底删除,这个时候再来看看我们的image。怎么着哈,是不是就已经被删干净了?那么第二个我们这先提前剧透。干什么呢,他们看。是我们本地的镜像,那么请给大家看多大?哎,好奇怪,为什么一个他们看起要400多兆。我的妈呀。你们现在大家呢,别的不熟,你们不敢说是我们谦虚点,不敢说我们自己是高手,但起码他们看大家现在用了半年下来,或多或少还是了解你自己,知道以前你自己在你自己Windows环境下面机器上,就是大家在这学了六个月,第二个月我们刚刚学,他们看的时候,他们看的绝对不会这么大吧。那么为什么这个镜像会这么大呢?我们先带着这个问题上路,回头告诉大家,好,这些才是真真正正的原理。
21:06
来,那么接下来我们来看删除单个,那么do m-F,镜像ID,刚才我们是不是演示过删hello word,当然你加镜像ID和唯一镜像名都是可以,那么我想删多个呢?那么这个时候哈,那么来吧,同学们那么刀。干什么呢?OK poor hello word,我再拉下来行不行?好,那么这个时候大家请看,很快吧,那么do images大家请看,此时我现在是不是又拉,又把刚才我本机删掉的hello word又从阿里云上面拉到本地,又有一个新的镜像了,那么再来我拉多个嘛,那么这个时候干嘛呢?我拉下N。好,那么等等它拉完我们这OK。
22:01
暂停一下录屏。好,我们现在呢。N下载完成image,那么大家请看此时杨格本机是不是就有一个engines engines镜像,Helloard镜像,他们看的镜像有多个呀,那么刚才当然你可以删除单个一个一个的删,那么我要是想删除多个呢,那么这个时候我们呢,就可以选择我们这样的直连删除的方式,那么这个时候请看do卡R m2-F,那么这个时候我们呢,Hello word,然后呢,又是我们的N克,这个时候当然两个是不都是雷最新版,那么这个时候同学们请看我这一删快呢,Hello word删除,那么呢,再来一删,N删除,那么又回到我们的命令,大家请看,那么这个时候,那么这是不是我们只剩下他们开了,那么这个就是删除多个,中间以一个空格来分割,那么来这是多。
23:06
个,那么具体你删五个你就写五个,六个你就写六个,那么这个是什么?注意这叫删除什么。全部和多个是两回事啊,我这个多个我叫什么定点清除,我现在是不是只清除了。我们的helloard和NS这两个镜像好,那么这个时候什么概念呢?请看它的组合命令,首先我们刀卡R m2-F是强制删除啊,那么如果我现在不想写那么多,或者说我就想清库清盘了,把我本季的镜像库、本季镜像果全部删干净,那么你最痛快的删除方法是什么?是不是有点像我们的MYSQ数据库delete某张表while ID?能跟上。Y啊,ID括号ID1 id2id3,那么这样删的话,你传给我哪些ID,我是不是就删哪些好,那么此时那么干嘛呢?我们这要有一个组合命令,大家请看,比方说刀砍干嘛?
24:12
Image-Q,大家请看,那是不是只罗列出当前的?镜像的什么鬼image ID啊,那么好,那么假设我现在。Do r mi,杠F多了括号,这个多了就代表有点类似于我们的Java。JSP里面的E的表达式那样的引用,那么这个时候请看,那么是不是有点是一个子命令的什么,获得一个值啊,那么这个时候请看干嘛?根据刚才讲的do image-Q,我们这个Q是查询出当前本机库容器的什么。以卖ID。如果再加A,那么是不是一。
25:00
过往的和当前活着的全部ID,那么这样干嘛?查出来的数字你传给R2,那么是不是代表全面的批量删除啊,那么好,基本上用QA或者Q来完成这个,那么由于我就不想再重复下载,那么这个time k我就不再删了,那么同学们呢,可以撕下来去试试,当然后面我们讲的容器多了以后我也会演示这个命令,到时候再说好,那么同学们search破二,那么呢,讲完了思考一个问题,结合我们,那么这个时候我相信同学们。应该理解杨哥所说的见解,有get的相关知识,如果你要是这听到这,你应该自然而然的反应过来,那么说明你在硅谷学的不错,一条龙,因为硅谷的JAVA1的课程体系极其成熟,差不多都是什么前因后果说明白,那么思考一个问题。既然我们这儿有。干嘛pull,那会不会有push啊,那么一样,既然你DOER1MIGHT的话,就像一个get上的一个文件一样,我们会不会有卡?那么答案告诉大家肯定有,那么这两个是什么呢?我们放到后面的案例再给大家家,OK,那么docker的镜像命令我们呢,就先说到这。
我来说两句