00:00
好,同学们,接下来呢,我们呃,试着把这个炸包直接给它打包到镜像里,然后再部署到咱们这台测试服务器,那这种方式呢,肯定要比刚刚的这个外部引用的炸包要麻烦一些,因为每次呢,都需要重新去构建一个这个隐秘指的这个镜像,重新构建一个这个镜像出来,同时呢,不光是它比较麻烦,而且它比较占空间,你看这一个镜像啊,它大概有几百兆吧,你看。杠A。啊,不是这个这个秘。子,那这个,呃,我们这个用这个open jdk这个官方镜像呢,然后这个run之后吧,啊,它并没有搞出来这个新的镜像,但是这个DEMO我们通过这open jdk啊,重新的这个去生成镜像之后呢,每一个镜像你看比原来的这个open jdk里这个镜像呢,要稍微大一些,对吧,600多兆,也就是你生成一次呢,就有600多兆。所以这个呃,我们在这儿呢,就事先啊,先把它给清理掉啊,先把这个镜像给删掉,删镜像的这个命令是RM。
01:08
Heri啊啊hermier。R mi,那这个DEMO给这样就把它给删掉了,然后我们再去重新生成啊在这呢,我们也不需不需要使用脚本,直接去配置这个jackets就可以了,那咱们回到jackets。打开咱们这个job。呃,在之前还是清理工作啊,这个清理工作呢,我们首先第一件事儿呢,呃,删文件我们先看一下啊,这个删文件呃它呃我们在在这会儿啊,让这个jacks扔过去的,呃也会有这个炸包,也会有这个咱们这个呃Jack这不是Jack fair是这个docker fair还是在这儿吧,咱们先捋一下。这会儿这个清理呢,呃,首先啊,要把这个老的这个docker file。
02:04
给它给清理掉是吧,然后呃,我们去构建这个新的镜像的话,也是需要这个docker file的,那么这个docker file啊,我们就可以完全的给它集成到我们这个IDE这个开发工具里啊,同时呢,把它给提交到get上。啊呃,另外呢,就是除了do fair之外呢,还有这个炸包。嗯,然后执行构建不是,然后这个除了这个原本的这个删文件的清理之外,还有这个。对于这个镜像的清理。镜像和这个容器啊,这两个都清理掉,一个是这个image,一个是我们那个正可以运行的这个创建好的容器啊,这两个也一块给它清掉,这个真镜像的是r mi,然后删容器呢,是2M啊,然后构建,构建完之后呢,呃,下一步啊,这就这也比刚才要麻烦一点。我们得去重新的去,呃,Build的这个镜像出来,就构建构建镜,构建这个镜像,Docker的镜像。
03:07
构建完镜像之后呢,呃,然后再去run啊,一个是构建一个是run啊,这是稍微麻烦一点,首先我们先把这个清理工作呢,在咱们这个jacks里先配一下这里边的清理,先2M2F把这个啊还是先都清了吧,全部都删掉,删掉之后,嗯。还得去删他的这个do docker里的这个docker r mi啊。删掉这个镜像我们叫DEMO对吧?I这个DEMO删镜像之前啊,先得先把这个我们现在正在运行的这个容器给它给停掉,这两个是有这个冲突关系的。先停掉这些啊,你看docker先stop掉我们这个刀DEMO啊,然后删掉这个容器啊,Docker RM DEMO这是停这个停止容器,然后删删容器。
04:07
然后我们的这个镜像啊,这三步,嗯。然后啊,我们我们下边看这边是正常的build,在build的时候,我们需要把这个docker file一块给他发过去,这个docker,因为这个docker file啊,它有可能会发生一些变动啊,那我们现在咱们的这个开发工具里啊,新建这么一个目录。啊,如果你用idea的话呢,呃,操作基本上也都一样,我是比较习惯用这东西了,呃,新建这么一个文件夹吧,新建一个目录,我们管它起个名字docker。然后在在这下面呢,新建一个docker file。然后ker file呢,把我们之前的这个配置呢,直接给它粘过来。
05:01
然后保存,然后把这个给它给提交上去啊。提交完,然后合并代码是吧。OK。合并完之后呢,我们这个呃目录里呢,呃就是我们就在编译完成之后,我们的这个target,呃不是target是这个项目的这个包下边呢,会多一个这个,呃这个这个这个docker的这么一个目录,在docker目录下边呢,就会有这个docker file在这儿呢,呃,咱们这是先去send的这个包,对吧,这个咱们先不管它。啊,把这个command给它给删了,这是到这个file里,在这还可以再添加一个这个transfer,再来一次,再额外再发这么一个docker的这么一个文件啊。
06:10
这个文件在。哦。看这是用通配符是吧。其实也可以直接这么写DEMO一下,嗯,咱们的这个docker。下的do。把这个文件给它给扔过去。然后把。前缀呢,给它给去掉,给它放到呃,它这个root目录下。呃。文件扔过去之后呢,就开始执行这个build操作,把咱们前面的这个命令呢,打包镜像给它给拷过来。变大一点,镜像打包完之后呢,啊,再润一下,这个润在哪,我看看。
07:00
嗯。这里没写是吧,我们自己在这敲一个啊,就docker run,然后杠B,然后杠P8080~8080。刚刚name就DEMO这名字你要注意,因为你停这个,呃,这个这个容器的时候用的就是这个名字啊,然后DEMO,然后后边啊,我们用的这个。镜像的名称啊,也是DEMO,这build这两个要对上,在build后边一定要这啊,你仔细看有一个点。嗯,这是build,然后运行,然后应该就没什么其他的了,是吧,我们先测试一下啊,看看它好不好使来保存。然后执行。执行的时候还是先观察一下啊。这里边有个file啊,看这个主要看这个这个ER会不会发过来来走。
08:10
先清了,然后编译完之后呢,它会把这个docker一块给发过来。点错了。看这个。正在运行的这个控制台。的编译啊,然后连上了talker file已经有了。哎,然后这失败了对吧,然后我们在这看啊。嗯。A。什么,什么,Zero state not zero 125。In the fell as UN stable。Mail也没发出去。然后。
09:01
Email,然后我们先看一下啊。这个docker fire已经有了,然后看这个镜像有没有doer。Image image DEMO他还在这不知道是咱们,呃,刚啊,这是43秒,43秒之前创建的是吧。呃,这个没问题,我们刚刚创建了新的这个DEMO,然后看一下。现在有没有正在运行,哎,运行也没问题是吧,但是他只是报了个错,那我们再跑一下看看啊。这个有的时候吧,这个一些上命令就有可能会出现这种莫名其妙的问题,所以它并不是那种严重的错误啊,然后现在我们看看这docker image已经给清掉了,对吧,然后看现在正在运行的。
10:03
现在还有他没停掉。对吧,这是不是找着问题了,这个没停掉。哎,这是没停掉还是刚起的。我们缩小点啊。Docker image,这是刚创建的,然后这个。正在运行的点这25,那这个应该是没停掉是吧,那我们看看这个命令。这里面配置的。嗯。在配。在之前呢,啊,就是在。Build之前我们先DEMO。这个镜像是叫DEMO吗?这叫DEMO out是吧?这怎么叫DEMO?
11:03
这个可能是是不是冲突了,我们把这个先给它给停掉啊。Stop。DEMO。他可能跟他有冲突。我们看看这个我们这个DEMO,这个它有没有给我们生成出来,这是已经生成出来了,对吧,还有一个DEMO,这是刚刚咱们测试那个引用外部那个文件的时候,对吧?啊这个创建的。这呢,有一个DEMO,一个DEMO。啊,嗯。然后我们再跑一下吧。可能是刚刚有冲突,这配置应该是没问题。Let'to let。DEMO呢,在这里边也给清掉了,对吧,正常情况也给也给停掉了。然后这会儿看他这个构建它还它还会不会报错。
12:11
诶没问题了,刚才这个他这个报了个小错误,可能是因为这个端口有冲突,因为这个DEMO out是咱们之前呃跑的这个炸包对吧,它占的也是8080。你看现在正在跑的就是呃,咱们的这个新的这个DEMO了,对吧,然后在这个8080端口,呃,17SECOND17秒之前,然后我们再测试一下这个更改代码。这是在内部内部重新构建镜像。启动的。然后提交上去。
13:05
OK,还是得合并代码。嗯,OK,然后再去跑一下咱们这个任务。现在正在执行,咱们直接看这就行了,刚才跑的这是外部执行的这个这对吧。啊,现在把这个容器已经停掉了。嗯,现在啥进度了,哎,已经完成了是吧,然后再看。OK,这是内部重新构建镜像启动的,那么我们在截止到现在为止呢,我们把这个呃和docker相关的这些编译打包,然后自动化部署呢,就给大家讲的差不多了,那这种方式呢,呃,我们既然已经可以重新去编译打包了,现在是在单独这台机器上,其实呢,也推荐大家在单独的机器上去打包,因为有的时候你的项目比较大的话,呃,还有就是这个镜像比较复杂的话,你重新build一次啊,有可能会比较耗时,然后再有就是呃,这个。
14:28
既然镜像已经能够构建出来了,我们就可以把它给推送到呃私服里啊,推送推送到私服之后呢,就可以由其由其他的像K8S集群呢,去拉取这个我们的镜像,然后再去同时同时启动多个这个呃这么一个集群化的这种这种服务了,你像呃微服务下就经常会一个服务呢起好多个是吧,包括你像一些基础服务,像网关啊,像这个注册中心等等等等,这个呢,就不在咱们这堂课的这个范围内了。
我来说两句