为什么使用Docker容器

上一篇咱们介绍了何为容器,下面咱们来一块看下docker容器的好处吧。

之前的项目组,有生产环境、测试环境、自动化测试环境、性能测试环境、安全测试环境、镜像环境,一共6套环境,然后每次版本升级都很痛苦。

一般一大早就开始升级,顺利的话到晚上下班前能搞定,然后我们基本都没准点下过班。各种配置问题、数据库连接问题、安装脚本问题...现在想起来都心有余悸。

然后到现在这个项目组,升级部署两分钟搞定,除了通过jenkins实现自动化之外,剩下最大的原因就是使用了docker容器。

1 、持续部署与测试

Docker 是革命性的,它重新定义了软件开发、测试、交付和部署的流程。我们交付的东西不再只是零散的代码、配置文件、数据库定义等,而是整个应用服务及其运行环境。

以前开发环境需要部署到测试环境,需要先将各个零件复制一份,然后拿到测试环境再组装,现在是将整个开发环境全部打包,挪到新环境直接用。


2、优异的跨平台性

Docker 在原有 Linux 容器的基础上进行大胆革新,为容器设定了一 整套标准化的配置方法,将应用及其依赖的运行环境打包成镜像。

Docker 是可移植(或者说跨平台)的,可以在各种主流操作系统上使用。Java 可以做到“一次编译,到处运行”,而 Docker 可以 “构建一次,在各平台上运行”(Build once,run anywhere)。

越来越多的云平台都支持 Docker,用户再也无需担心受到云平台的捆绑,同时也让应用多平台混合部署成为可能。


3、高资源利用率与隔离

Docker 容器没有管理程序的额外开销,与底层共享操作系统,性能更加优良,系统负载更低,在同等条件下可以运行更多的应用实例,可以更充分地利 用系统资源。

另外,Docker 拥有资源隔离与限制能力,可以精确地对应用分配 CPU、 内存等资源,保证了应用间不会相互影响。

Docker 是轻量级虚拟化技术。与传统的 VM 相比,它更轻量,启动速度更快,单台硬件上可以同时跑成百上千个容器,所以非常适合在业务高峰期通过启动大量容器进行横向扩展。


4、环境标准化和版本控制

可以使用 Git 等工具对 Docker 镜像进行版本控制,相比基于代码的版本控制来说,能够对整个应用运行环境实现版本控制,一旦出现故障可以快速回滚。

docker的本质是一种特殊的进程,相比以前的虚拟机镜像,Docker 压缩和备份速度更快,镜像启动像启动一个普通进程一样快速。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。