Docker作为容器虚拟化的主流工具,其让应用脱离彻底脱离底层机器,使应用可以在物理机(ECS)之间灵活迁移部署,使运维工程师彻底摆脱了繁琐的环境部署,极大的提高了工作效率,同时减少了部署过程中的潜在风险。
Docker与传统VM的特性比较
- 作为一种轻量级的虚拟化方式,Docker在运行应用上跟传统的虚拟机方式相比具有显著优势:
- Docker容器很快,启动和停止可以在秒级实现,这相比传统的虚拟机方式要快得多。
- Docker容器对系统资源需求很少,一台主机上可以同时运行数千个Docker容器。
- Docker通过类似Git的操作来方便用户获取、分发和更新应用镜像,指令简明,学习成本较低。
- Docker通过Dockerfile配置文件来支持灵活的自动化创建和部署机制,提高工作效率。
- Docker容器除了运行其中的应用之外,基本不消耗额外的系统资源,保证应用性能的同时,尽量减小系统开销。
当然,在隔离性方面,传统的虚拟机方式多了一层额外的隔离。但这并不意味着Docker就不安全。Docker利用Linux系统上的多种防护机制实现了严格可靠的隔离。从1.3版本开始,Docker引入了安全选项和镜像签名机制,极大地提高了使用Docker的安全性。
下表总结了使用Docker容器技术与传统虚拟机技术的特性比较
特性 | 容器 | 虚拟机 |
---|---|---|
启动速度 | 秒级 | 分钟级 |
硬盘使用 | 一般为MB | 一般为GB |
性能 | 接近原生 | 弱于原生 |
系统支持量 | 单机支持上千个容器 | 一般几十个 |
隔离性 | 安全隔离 | 完全隔离 |
阿里云容器服务
我们通过阿里云的容器服务,配合Jekins等持续交付软件实现代码从提交到部署的完整DevOps流程,确保每次部署都会执行自动化测试从而替代低效、繁琐、迭代缓慢的传统方式。
- DevOps 自动化:实现从代码变更到代码构建,镜像构建和应用部署的全流程自动化。
- 环境一致性:容器技术让您交付的不仅是代码,还有基于不可变架构的运行环境。
- 持续反馈:每次集成或交付,都会第一时间将结果实时反馈。
Docker容器提供了敏捷的应用部署解决方案,让开发和运维能够完美的配合,提升应用迭代效率。据调查,已有24%的企业在使用容器服务,另外60%以上的企业明确表示,会在未来使用容器服务。
作者信息:刘远程,杭州懒猪行Co-founder兼CTO。知名信息安全企业产品经理出身,曾多次创业并担任技术总监和CTO,具有丰富的互联网产品设计、开发和团队管理经验。