温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
大家好,在下面的课程里面,我们来学习一下docker这个容器技术,首先呢,我们来看一下我们为什么要学习docker。我们在开发过程中啊,开发一个产品经常会碰到这种环境的切换问题,它的流程是这样的,我们在开发环境里面啊,把这个产品开发出来,在测试环境里运行,最后部署到生产环境,那不同的环境可能会有差异啊,比如我们的开发环境是JDK8,而测试环境有可能就是七。啊,这时如果我们开发了一个产品,这个产品在我们开发环境里明明运行的好好的,但是呢,到了测试环境,因为它版本不一样了,或者其他的一些产品版本不一样,比如阿帕奇不一样,买斯尔版本不一样啊,就是不同的产品的版本,或者说它的环境的差异,就会引起软件执行过程中的啊表现的不同,或者甚至这个都不能执行啊,那这个呢,就是啊,软件因环境的迁移引发的问题。
01:11
那这个就是docker所解决的问题,那docker怎么来解决软件因环境的差异啊,引发的这个具体表现不同呢?啊注意看我们可以这样做,我们在开发环境里面开发的一个程序叫project是吧,比方写好了在我家运营好好的,那给测试,给生产,那我给你的话,你的环境跟我不一样,有可能表现不一样,甚至不能执行,那怎么办呢?我不光给你这个软件。我不光给你产品,我还给你什么呢?你不是我给你之后,你直接运行产品,你你这个呃,因为环境问题啊,引起的这个水土不服啊,那我不光利软件,我也把水土给你,我会把我的本地的环境和产品,OK,大家看这个啊,这就是容器技术,是不是我把我的产品就这个地方,我把产品给你,我同时把我的环境也给你,然后把这两个呢,把我的环境和产品呢,打成一个包。
02:17
一定的交付给后的工作啊,后续的工序是吧,我我给你交付的不光是软件产品,还有一种环境,你水土不服,我把水土都给你。啊,这样的话,我们在测试环境里面,对于软件的执行测试的时候,它不是在啊,我原来的这地七里之箱,我是在我的沙箱环境,什么叫沙箱环境,它跟外面跟其他的容器啊,它不是。互相隔离的,它们之间啊,不是连通的,你看这个容器和这个容器,这每一个容器啊,它都不是,呃,相互能看到的,就是就跟我们VMVR虚拟机是一样的,跟我们虚拟机的概念差不多。
03:06
每一个容器都有自己的啊,操作系统,IP地址啊,有自己内存空间等等这些有自己的资源,那这时我把我的环境打包过去,把环境和产品打包在一起来进行交付的这种技术就叫做容器技术,通过容器技术就可以解决软件在不同的环境间啊迁移所引发的问题,这是最初的docker啊,使用docker它的一个原因,当然后面也一样,我们给生产环境交付的时候,也是交付一个容器。这样的话,不同的产品在不同的容器里面执行,它运行在不同的沙箱环境的容器下,就不会引发这种环境迁移的软件问题。
我来说两句