摘要:用于在虚拟化容器中部署和分发应用程序的Docker开源平台具有诸多优点。本文解释了企业应当了解这项流行技术的几个方面。 |
在Docker容器中,应用程序直接建立在Docker引擎上,因而不需要来宾操作系统。这项功能有助于减少托管运行多个来宾操作系统的总体系统要求。
这还减少了对计算资源的需求,因而降低了部署成本。不像Docker容器,基于虚拟机管理程序的应用程序需要额外的来宾操作系统以及应用程序实际运行所需要的其他依赖项。
进程隔离和安全
在Docker容器中,每个应用程序或容器与其他应用程序或容器隔离开来,但它们都使用同一个根(root)。这提供了简化管理这个优点,不过也带来了几个缺点。比如说,万一根受到危及,主机容器就可能面临险境。相比之下,虚拟机管理程序解决方案提供了多少有点全面的隔离,具体取决于需求。
Docker公司正在竭力解决Docker容器的安全问题。该公司最近与业内专家协作,并与互联网安全中心一起发布了部署Docker 1.6或更新版技术的安全最佳实践。
启动时间
容器直接建立在Docker引擎上;启动应用程序所花的时间完全取决于应用程序的类型。底层内核已经在运行,没有中间层操作系统(来宾操作系统)缩短了容器的启动时间。在虚拟机管理程序中,系统总的启动时间包括来宾操作系统的启动时间和应用程序的启动时间。
应用程序交付
Docker允许在“Docker化”的容器中跨不同环境分发或交付应用程序,所有依赖项绑定为一个程序包。比如说,想把某个应用程序从开发环境迁移到测试环境,然后迁移到生产环境,整个容器就可以作为一个实体来加以封装和迁移;应用程序仍与所有的环境配置绑定起来。
这有助于跨不同部门、团队成员之间或者通过云来迁移应用程序,没有导致故障的任何风险。
在虚拟机管理程序解决方案中,封装和迁移应用程序连同所有相关服务和工具总是有可能导致环境遭到破坏。
硬件兼容性
借助Docker容器,管理员就能构建应用程序,没必要考虑来宾操作系统方面的任何依赖项。这使得应用程序具有轻量级、运行快、开销低的优点,同时消除了潜在的平台兼容性问题。
在虚拟机管理程序解决方案中,每个虚拟机专用的来宾操作系统使得响应起来比Docker容器应用程序成本更高、速度更慢。在特定虚拟机管理程序平台中构建的任何虚拟机无法在其他虚拟机管理程序平台上运行。
企业级功能
虽然许多企业组织已经开始使用Docker容器用于应用程序虚拟化,但这项技术仍缺少一些企业级虚拟化功能,比如细粒度访问控制,容器迁移、日志和备份恢复等。
而大多数虚拟机管理程序平台支持诸如此类的企业级功能。如果企业组织在考虑将虚拟化应用程序部署到生产环境中,建议使用虚拟机管理程序解决方案,就因为这一点:基于Docker的解决方案在提供企业级功能方面有所欠缺。
责任编辑:余芯