Web服务Docker化的优势

0 篇文章 0 订阅

我们总会发现公司的项目总是上到服务器的docker中运行,而自己开发的项目通常为了方便直接打包为一个war包上传到服务器,再使用java -jar命令运行。结果两种方案都能够正常运行起来,这个时候爱思考的同学们就会去想:既然我们有简单的部署方式,那为何还要使用docker呢?非常好的问题,我们接着往下看:

docker是什么?

docker是一个开源的应用容器引擎,如果你是docker的初学者,同时也有开发过基于Maven的java项目的经验,那就会比较容易理解:我们可以把docker想作一个拥有类似Maven仓库的镜像资源仓库的虚拟机。我们能够在docker容器之中运行来自仓库的各类应用。

为什么使用docker?

作为程序员,是否经常听到身边有人说“怎么在我的机器上没办法复现啊?”这样的话,很大程度上是因为QA人员与工程师们使用的各种环境各种配置不同导致的。我们想一想,使用虚拟机最大的好处是什么?就是让使用者处于一个自己可配置的可控的“标准”环境里。docker同样也拥有虚拟机的这一大优势。因此,它的第一大优势就是:保证程序运行环境的统一

再描述一个场景:一台服务器通常是由多人/多项目共享,如果某天与你共用服务器的同事的项目出现了各种占用CPU/硬盘这样的问题,你在此台服务器中运行的项目也会因此收到影响。而当你使用docker时,我们可以限制每个应用实例的各类资源的上限,对方的服务到达上限只会使它自己崩掉而不会影响别的项目。这就是docker的第二大优势:隔离性

第三个场景:在双十一这样的峰值期,电商网站平时使用的服务器负载一定是跟不上的,我们必须临时加服务器进来分担负荷,在负荷降下来的时候再撤出这些临时服务器。我们想一想,当我们拥有一台全新的服务器后,想部署一个web应用,需要安装配置各种运行环境,麻烦炸了,运维工程师正在拿刀过来的路上!而docker只需要几个简单的命令,就能将同样的配置迅速移植到多台机器上去,同样几个命令就能将这几台机器撤下来,负责服务器的工程师爽歪歪。这就是docker的第三大优势:标准化,它能够带来优秀的可移植性。

总结

docker能够简化配置一致的示例的发布流程,很好的应对了负载波动较大的情况;同时它比虚拟机更加轻量级,成本更为低廉。诸多优势下,它终于成为了新时代的宠儿。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值