docker简介
“程序在我这里运行好好的,咋在你那里就不行了呢?”一个普通的java web程序跑起来,需要哪些依赖?
操作系统os/jdk/webserver/代码/配置文件/...
比如,程序中调用了系统命令,现在os变了;
比如,jdk版本,编译使用的是1.8版本,机器上安装的是jdk1.6,无法识别class版本;
比如,tomcat版本,有些旧版本的配置新版本不支持;...
针对这种问题,docker的处理方式是,把os/jdk/webserver/代码等等一个个的放到集装箱中去,打包放到鲸鱼上,由鲸鱼给我们送到目的地去,也就是说docker解决了运行环境不一致带来的问题!
“哪个大哥又写死循环了,系统又变慢了...”
传统的方式中,我们一台机器上部署了很多服务,很可能由于其他服务出现死循环占领cpu,日志狂打磁盘爆满等情况导致我们自己的服务出现异常。
而docker的隔离性可以完全避免这样的问题,因为docker在启动的时候,就给限定了最大能使用的cpu,内存,硬盘,如果超出就kill掉。
“双十一来了,又要部署几千台服务,过完节后,还得下线这么多,累死了...”
对于大部分系统而言,流量并不是均匀的,比如电商系统,在11.11大促期间,就需要临时扩容机器,之后在下掉,如果是成百上千台,那就给运维带来非常大的工作量,有了docker就变得简单了,从5台服务器变成500台,5000台...都是分分钟的事情。(也就是说docker解决了快速扩容,弹性伸缩)
页:
[1]