首先,我们来扯一下服务器。现在主流开发语言有java,c++,php,python,ruby,.net,go等等,假如一台服务器上要部署若干种语言的应用,然后同一种语言写的应用可语言版本还不一样,依可能又会冲突,然后购买硬件预算不足,那要解决这些问题简悲催。
假如说预算充足,并且一个应用搞一台高大上的服务器,那么每台服务器配置一环境也是一个令人头疼的问题。
docker之所以如此的一大原因解决了同一台服务器不同应用相互影响的问题和多台服务器环部署问题。
docker是如何解不同应用相互影的呢,这个就归功docker容器咯,容器就像虚拟机,有自己的操作系统,可以安装不同的软件,并且相互之间隔离,最重要的是它非常节省资源,基本上内存都是里面进程用了多少它就多哪么一点点。
应用隔离这个问题是解决了,然而如果快速在多台服务器配置环境呢。这个就要从docker容器如何生成说起。容器是依赖一个叫做镜像的东西产生的,镜像就像模板,容器自然就是那块饼啦。所以我们只需要需要部署的环境封装成一个镜像,那么每台服务器只需要复这个镜像过去,然后根据这个镜像生成容器就完成了环境配置,一就是这么简单。
顺便说一句,虚拟机启动很慢,然而启动一个容器是秒级的,这速度实在是太无敌了,而停止一个容器就启动容器慢一些,然而还是秒级响应的,个人感觉比启动一个tomcat的时间还短。
下一次,我就开始介绍docker的安装和对docker镜像的一些看法。