00:00
各位同学大家好,我们继续通过前一讲,我们对课程大纲做了一个基础性的介绍,那么后续我们将进入精细化的学习,一步一步带着大家把。Do与微服实战这门课拉通整明白,那么下面按照因材施教的原则,这儿说一下。再次强调,如果你是零基础小白,那么希望从hello word入门到最后变成一个熟手和高手。希望大家不要跳过,一步一步的走,一块一块的敲,跟着杨哥从零基础入门到最后的进阶篇,一套打完OK。但是如果你现在确实是已经实际工作中用过多卡,对于部分的安装啊,操作配置都OK的,那么建议你呢,直接从高级篇开始学习,不浪费你的时间。好,那么希望各位粉丝同学们。酌情参考,各取所需,那么接下来我们呢,将会从基础篇小白开始,带大家一步一步走,一步一步学,那么下面我们来先看一眼。
01:05
多看的简介,那么熟悉杨格风格的时候都明白,我在教学过程当中非常注意这个方法论。一句话,天上飞的理念必然要有落地的实现,等等等等,那么这个时候来了,又来一个新的技术了,没有杨哥你怎么学?没有上硅谷的视频你怎么学?那么熟悉杨哥风格的都会听过我的这样一个算是五步的一个教学或者是学习方法,找到学习一门新技术,刷一门新技术的什么突破口和引爆点,没有老师了,我照样能学,地球缺了谁都转死我。杨哥,不用吃带毛猪,OK,那么接下来首先一步,它是什么?对吧?杨哥,你让我学do卡,何为do what是个啥?那么第二个。有什么好处啊?解决了什么痛点?再说一把,是不是当下的主流技术啊,学完跳槽以后能不能崭新?那么好处是什么?能干嘛?
02:06
第三一个明白了以后。肯定是目前的安达。之间,主流技术没什么好说,必须掌握,那么接下来凡技术必登官网。那么。在哪下载,那么自然而然架到本地了,这种安装步骤,安装过程中的坑大家呢需要熟悉,那么最后那么来了怎么玩?对吧。也许命令有上千个,那么常用的命令可能也就那二三十个,三五十个主流常用技术操作,我是不是必须要拿下。那么最终好。所有技术是从一个hello的开始,那么永远的。Word。那么既然好通一遍啊,好起来一次,那么整体看一下,OK,所以说呢,这个一般就是各位同学们要学会的,这个比学跟着杨哥学会一门技术更重要,我更愿意教大家方法论再说一遍,好,那么这个时候我们就来看看,那么会亲。
03:10
它到底是什么?前面我们已经说过了。请看这个图标,它像个什么啊?之前教训啊,说什么的都有,有说是嫖的,有说是菜刀的,有说是金鱼的等等等等,那么好,正确的是不是?金鱼背上驮着一群集装箱啊,一堆一堆的集装箱,那么这个东东是什么呢?我们先来看一个东西,为什么会有刀口出现。学任何技术之前。那么。严格的日常方法,那么就是我们所说的什么AB法则。OK,那么什么AB法则呢?你学任何技术?没有杨哥了,照样可以学那么来。呃,我不服气。杨哥,你现在为什么要让我学dota?
04:02
比夫。After。安讲,没有刀砍之前,我现在不是活的好好的吗?没有这个刀砍之前的话,我照样能够调程序,系统上线发布部署,就好比以前没有钉钉,没有微信我们一样办公。那么下面我们就来看看我们将在日常工作和开发中碰到的痛点。Do,他给我们解决了什么?来,同学们,你看下一个情况。一个。啊,听大家呢,在上硅谷学习,都看过雷锋阳老师的上硅谷鼓励商城电商项目,那么相当于说大家用笔记本开发的时候,一定是开发环境具有一些特定的配置文件,甚至是系统安装软件的版本。那么你在入职职场和其他工作人员配合的时候,开发人员,你所处的配置环境,生产环境,测试环境,哎呀,你各种灰度发布,各种生产上线发布版本一样,环境是各不相同的,那么你正在开发的应用肯定是只必须要依赖你当前的配置啊,还要甚至还要依赖一些特殊的配置文件。
05:10
那么你这样。企业他自己还拥有一套QA,以及测试那边的标准化的测试和生产环境,也即这个环境是多套。那么。一系列支持配置文件将会导致在日常工作当中,各位开发和运维发布部署的兄弟经常产生一个头疼的东西,那么就是在开发的工程师兄弟直接会给你说一句干嘛。开发这里能跑啊。是吧,但是呢,运维呢。直接就跟你说。好不起来。然后呢,开发又说,我这行啊,你是不是不会部署?然后呢,麻烦了,运维也跟你牵起来了,你到底开发一堆什么烂东西,根本跑不了,双方唇枪舌剑,基本上很影响团队和谐。
06:06
那为什么呢?我相信开发没有说谎,运维也没有说错,差距在什么地方呢?你如何确保这些环境当中运行和通过这些质量检测?我的源代码从开发环境移植到测试环境,再一直到。运维的生产发布环境会不会出现令人头疼的版本配置问题。那么这个时候我们希望。平滑迁移。那么这种情况下,我们需要。使用doer容器技术,那么doer之所以发展的这么迅速的话,因为它给出了一个标准化的解决方案,系统平滑,注意移植,俗称。容器虚拟化技术好,杨哥听不懂了,讲人话,我是小白,我们来,弟兄们。这是我们的尴尬,那么下面我们来看一下在以前啊,咱们怎么做事。
07:01
这个时候这边的话呢,是咱们的开发。Anna。指示。比较。源代码。对吧。拿个包,拿个架包,不废话,直接呢。发给我们的运维。那么这个时候这个兄弟呢,是运维,那么妥了。运维也知道开发完成了,如果他没有开发完成,他肯定不会提测,不会提拔发布,那么这个时候运维开始什么完成我们的部署,那么这个时候运维将会碰上一系列痛点。一个。假设我们的开发环境和运维生产环境,他们什么?环境不一致。很多啊。买Q版本。DDK我们的版本。
08:00
最经典的。有些老系统开发可能装的是JAVA8,可能生产环境用的是Java机,可能用一些JAVA8的新特性,根本就没法跑。好,这是第一个,那么第二种情况,运维也很痛苦,这个时候出现。什么呢?装啰嗦。发上面,因为这些东西跟你不一样,那么现在呢,我运维请你给我出一张list清单。你是什么环境,我就怎么办。OK吧,那么这样来解决这个问题好了,那么下面我们出现的问题。开发呢,提供这么一个list,交给了我们的运维,运维照着抓啊,可问题开发当中还有一种东西叫。蜗台集群。那这个时候运维就疯了,也许我这个MYSQL是易主。一层装两台,我这个red是三组,三层装六台。
09:03
那么这个时候运维稍微因为版本,因为环境,因为配置装错一步。那么可能我这个系统就跑不起来,大家只能互相扯皮,那么这个时候的话呢,运维是非常非常痛苦的,那么开发呢,也限于你部署不起来,没有办法发布版本测试,没有办法良好的测试,大家就只能内耗加班。好,第三种情况干嘛。我们再来试试,假设现在啊,我们的机器不够用了。那么现在运维需要扩容。好了,那么扩容完了以后需要缩容。这个如何弹性的发布啊,你现在red是六台三主三重,不好意思啊,我现在环境呢,又坑了。并发量大了,我需要你马上扩容,变成四主四从瞬间要求你起来两个实例,那么如果按照以前的安装步骤,你就是把运维杀了,他也不可能秒级别的给你起来吧,那么现在这个系统的发布。
10:11
就卡在这儿,那么所以说导致这些将会出现我们经常所说的这种东道。环境配置相当麻烦,换一台机器就要重来一次,费力费时啊。那么很多人想到我们能不能从根本上解决软件可以带环境安装,也就是说安装的时候把原始环境一模一样的复制过来一份,那么开发人员就利用docker消除协作编码和配置时候在我的机器上可以正常工作的问题,换一个环境就挂了这样的一种尴尬,那啥意思呢?好吧。结合前面这些运维的事儿多着呢,那么现在左边是开发,右边是运维,那么现在能不能试试?二合一以下,好,现在我们引入新的技术来吧,Do。
11:03
OK,那么跟刚才一样,现在开发说哇。那么我所有的环境配置文件源代码在我这块是100%能够。通过的,那么我的源码啊,配置文件啊,环境啊,版本等等等等都是OK的,也记我的原代码,是在这些前提条件下面,我一切OK。那么我们思考一个问题,能不能把源代码?爱家配置文件环境版本等等等等,打个包。形成一个什么通道?镜像文件看大家先不要管本小白,不要担心什么叫镜像,那么我们说人话,大家一定用过一个东西叫虚拟机,那么在我们创建虚拟机的时候,我们都晓得的,目前我们的3OS啊是个假的,但是它跟真的是一模一样,为什么呀,因为在我们安装的时候大家还记不记得。
12:14
在之前课程韩彦斌老师给大家讲解center瑞Linux的时候安装过瑞七,这个时候我们是不是有个东西叫ISO什么镜像文件,当然也叫映像文件。所以说各位。我们现在既然整个三七这个操作系统可以打成一个镜像,那么请问我们这个是不是也可以打成一个镜像文件?那么这儿。我们让他。用一种软件。这个时候运维的兄弟就开心了,这个黑色框框包着全部运维的工作。那么就是我们的。引擎。开,那么这个时候啊,这些懂不懂。
13:00
打包成一个镜像。然后让他跑在包这儿。那么这个时候模拟出来这个环境,将会让你开发过程当中的源码所跑的环境和配置,我可以原封不动的给你移植过来,达到了环境的匹配和整合。那么来回到我们的笔记可以看。那么。Do,它包含两方面的技术,一个叫镜像,也就是刚才我们所说的ISO那个文件,那么也就是我们这的镜像,那么第二个我们来看一眼。以前是只叫代码,那么现在编译以后,我们呢是执行应用。不好意思啊,换一个环境。不能跑了,那么现在你以前跑的是什么环境,我现在给你原封不动的全部打包完成。镜像。就是应用,那么这个时候,以前你只教源代码,现在运行文档、配置环境,运行环境依赖的包、操作系统等等等等,全部打包成一个镜像,就跟我们的虚拟机刚才所说的。
14:08
我们现在就给你个ISO文件,你这个。就是一个真真正正的生态27操作系统,那么执行不走样,完成了平滑移植。那么。说一个最简单的,各位同学,目前你们都住在上硅谷鸿福科技园附近,对吧?假设你住的是五号楼五单元朝北的一个。A。现在你找到工作以后,你需要从昌平区搬到朝阳区或者海淀区,但是你现在住的这个屋子啊,你住了大半年习惯了,那么你晓得。如果你现在找到工作以后你要搬家,你绝对不可能是同样的小区,同样的楼层,同样的户型吧,那么这个时候没什么好说,你要打包。解压货拉拉搬家公司搬过去。然后呢,重新收拾,啰嗦吧,而且你在搬家过程当中一定会有丢掉一些东西,遗失一些东西吧。那么这个时候没办法,你从。
15:08
商品搬到了朝阳或者是海淀。那么接下来。我们在上了do以后来试试能不能有这样一种环境,我们完成的一个东西直接干嘛,从以前的。加你晓得每次搬站都会东西一定会有一些故障,一定会有一些什么损失和损耗,迁移的过程当中一定会产生问题,这个就是我们运维部署开发的麻烦。那么现在我们就想。牛逼,你找了一艘。陆地航空母舰类似于推土机,直把下去一巴掌连根基给它扳起来,那么这个时候就是我们所说的什么。我们干嘛呢?你所在这个小区五号楼五单元501室,我把整栋楼。从昌平搬到了你所新公司附近的海淀区,不住在那儿,那以前你住的是五号楼五单元501室,你现在搬过来以后,虽然说搬过了,但是还是整栋楼都搬了吗?那么你当年运行的环境和你现在运行的环境,从昌平到海淀一模一样,所以说doer完成的东西就是从搬家到搬楼。
16:20
规定限死了环境的一致保证。迁移过程当中。打包运行不走样,这个就是它带给我们的软件,带环境安全开发,就再也不会说在我的机器上可以跑啊,怎么到你那就不行了,这些废话问题就没有了,因为你现在交的东西除了代码以外,还有一大堆配置和环境,我整个从搬家到搬楼,所以说我们在这儿。之前服务器我们要配一个应用环境。各种软件一堆抓。然后呢,电商项目一部署Java的版本,MQ的要求,MY等等等等,那么安装配置这些有配多麻烦,我们就不多说了,大家都经历过对吧?冯阳老师讲的快吐血了,累死了。
17:06
很难有跨平台,那么我们在WINDOWS10上面idea这开发完了,发布到我们的。又要重新安装一套,那么就算你不跨到系统,我们大家都试过,你的代码在你的机器上,同桌的你也跑过去,没有环境不行,就是不一样,所以这个移植非常的麻烦,那么最终我们呢?做出了改变,左边是比before,也就是我们的什么传统上软件开发编码测试结束以后所阐述的,我现在就交了源代码,别的我不管。那么现在我们为了让源代码这些程序跑起来,那么开发团队和运维团队要准备完整的部署文件和发布流程,那么运维照着开发的要求,这个时候开发需要清楚的要告诉运维。全部的配置文件、源代码和各种软体环境。即便如此啊,我们也常常发现部署失败的情况,对吧?哪一次交接版本切割的时候不出点事儿?所以说do卡的出现呢,就让我们完成从搬家到搬楼,不再只交一个。
18:11
应用的程序,你搬家不是只教你这个人了,连你住的整栋楼都搬过去,那么自然而然,我们现在呢,相当于搬了,这个过程就是通过一种叫镜像,后续我们会了解啊,先混个眼熟,混个耳熟。将我们的各种业务系统,作业系统。进行必要的由下而上的打个包,那么这个时候干嘛整栋楼搬过去,达到应用城市跨平台的无缝接轨,OK么,这个就是。他为什么出现。
我来说两句