Docker-能带来什么好处

Docker的历史

熟悉其历史的都清楚docker是起源于一个初创公司dotCloud。起初docker项目是不开源的,是一个内部项目,初创公司深耕的领域是Linux容器虚拟技术。后面由于一些市场竞争的原因,创始人决定将代码开源。后面的事情大家都知道的,一下子就火了,包括微软、亚马逊、谷歌等巨头都公开表示将全力支持docker的发展。

    Google,GCP平台对docker技术使用提供了极大的便利,比如对我本人来说,印象比较深的是GCP cloud function功能,一个很强大,serverless的处理事务的平台,消耗更小的集群cluster的资源,能获得更大的执行效果。特别是针对微服务架构的应用。 AWS,官方给出了镜像库,自身云平台提供了可伸缩的基础架构,以供容器部署。 Azure, 不只支持linux容器,也支持Windows server容器,就我自己的经历来说,Azure portal强大的resource group功能,可以细化到容器相关信息集成,管理和监控等。可以给开发者以最大限度的支持,比如可扩展环境如果规划,如果部署和设计。当然对于DevOps来说,也可以Azure pipeline 等手段实现对docker的运维管理。

Docker的益处

开发速度会比传统模式快很多,使用docker会将application分拆,其实也只有分拆为一个个的小模块,小功能,才能实现快速的迭代,而快速迭代恰恰是docker可以带给我们的。其次分拆也可以减少很多无谓的兼容问题。

一致性更容易得到保证。假如application开发过程中有dev/qa/prod环境,当代码的变化在这些环境之间进行迁移的时候,更容易保证这些环境之间使用的代码版本一致。这么理解,代码的更新就是镜像的更新,只要在镜像库中保存的版本号是一致的,那么在部署的时候保障版本号就可以保证代码一致性。

提高资源使用率,这也是docker的核心。一个简单的例子,可以做个实验,在本地装一个Linux虚拟机(如virtualbox模式),在Linux上安装来自俄国的nginx web服务器并启动该服务;同时在本地安装docker,并打开docker服务,拉取nginx最新的镜像并启动。然后比较两者消耗资源的大小(如CPU/Memory等)。

经验分享 程序员 微信小程序 职场和发展