Docker作为容器虚拟化的主流工具,其让应用脱离彻底脱离底层机器,使应用可以在物理机(ECS)之间灵活迁移部署,使运维工程师彻底摆脱了繁琐的环境部署,极大的提高了工作效率,同时减少了部署过程中的潜在风险。

Docker与传统VM的特性比较

  1. 作为一种轻量级的虚拟化方式,Docker在运行应用上跟传统的虚拟机方式相比具有显著优势:
  2. Docker容器很快,启动和停止可以在秒级实现,这相比传统的虚拟机方式要快得多。
  3. Docker容器对系统资源需求很少,一台主机上可以同时运行数千个Docker容器。
  4. Docker通过类似Git的操作来方便用户获取、分发和更新应用镜像,指令简明,学习成本较低。
  5. Docker通过Dockerfile配置文件来支持灵活的自动化创建和部署机制,提高工作效率。
  6. Docker容器除了运行其中的应用之外,基本不消耗额外的系统资源,保证应用性能的同时,尽量减小系统开销。

当然,在隔离性方面,传统的虚拟机方式多了一层额外的隔离。但这并不意味着Docker就不安全。Docker利用Linux系统上的多种防护机制实现了严格可靠的隔离。从1.3版本开始,Docker引入了安全选项和镜像签名机制,极大地提高了使用Docker的安全性。

下表总结了使用Docker容器技术与传统虚拟机技术的特性比较

特性

容器

虚拟机

启动速度

秒级

分钟级

硬盘使用

一般为MB

一般为GB

性能

接近原生

弱于原生

系统支持量

单机支持上千个容器

一般几十个

隔离性

安全隔离

完全隔离

阿里云容器服务

我们通过阿里云的容器服务,配合Jekins等持续交付软件实现代码从提交到部署的完整DevOps流程,确保每次部署都会执行自动化测试从而替代低效、繁琐、迭代缓慢的传统方式。

  1. DevOps 自动化:实现从代码变更到代码构建,镜像构建和应用部署的全流程自动化。
  2. 环境一致性:容器技术让您交付的不仅是代码,还有基于不可变架构的运行环境。
  3. 持续反馈:每次集成或交付,都会第一时间将结果实时反馈。

Docker容器提供了敏捷的应用部署解决方案,让开发和运维能够完美的配合,提升应用迭代效率。据调查,已有24%的企业在使用容器服务,另外60%以上的企业明确表示,会在未来使用容器服务。


作者:刘远程