脉冲云为何要用docker

来源:互联网 发布:图文编辑小软件 编辑:程序博客网 时间:2024/05/17 21:46

脉冲云使用的是docker技术,那么这是为什么呢?


我们不妨先看下面两个场景。
场景一:
程序员A写完代码,自己运行也没有出错,于是提交了代码,打个电话约上朋友,准备晚上出去嗨,但是测试员B告诉他代码有问题,需要解决一下。程序员A心想不会吧,到最后却发现是因为两人的运行环境不一致,从而导致的错误。
场景二:
快下班了,运维A听着小曲,喝着茶,想着和朋友B的约定,突然boss告诉他,客户C需要再加几台服务器,现在的服务器不够用。运维A内牛满面,不得不加班,登上多个服务器,安装环境,部署产品。
上面两个场景在软件行业经常出现,这个是为什么呢?
开发者都知道,他们需要有很多台不同配置的服务器,原因在于,如果只有一个开发环境,一个项目使用Python2.7,另一个使用Python3.0,那需要进行一番设置。最头疼的是,这些软件环境升级还好说,如果需要降级就很麻烦,各种依赖库版本各种打架。因此,通常开发者都要求为不同的项目配备符合本项目软件环境要求的开发服务器,这就带来了大量不同软件环境服务器安装的需求。


有的时候,性能也出来捣乱,比如自己写的程序在配备了酷睿一代CPU的开发环境上运行的很吃力,想换到配备了酷睿五代CPU的机器,但是酷睿五代机器却没有同样的操作系统和软件环境,怎么办?只能在它上面按照旧机器的软件环境要求一模一样地安装一遍。这些问题弄的人头大以至于无法专心写代码,就连运维人员和测试人员也被折磨得疲惫不堪。


容器技术的出现很大的解决了这些问题。而docker正是其一。因此,脉冲云使用的便是容器技术,采用的docker技术。


了解docker之前就必须了解三个基本概念:镜像、容器、仓库。


脉冲云用docker将用户应用和运行环境及其依赖封装为一个镜像。


容器是镜像运行的实例(镜像很像开发中的类,而容器就是一个个对象,一个镜像可以生产多个容器。)它可以被启动、开始、停止、删除。


仓库是存放镜像文件的场所。当用户创建了自己的镜像之后可以将镜像推送到公有或私有仓库。
仓库分为公开仓库(Public)和私有仓库(Private)两种形式。
公开仓库推荐Docker Hub(https://hub.docker.com)
私有仓库推荐脉冲云(https://maichong.io)。每个用户都可以有自己的独立私有仓库,还支持一键部署。


使用Docker,开发人员可以使用镜像来快速构建一套标准的开发环境;开发完成之后,测试和运维人员可以直接使用相同环境来部署代码。Docker可以快速创建和删除容器,从而实现快速迭代,大量节约开发、测试、部署的时间。