当前位置: 首页 > 科技观察

关于Docker技术,你至少应该知道这九个方面

时间:2023-03-17 10:00:38 科技观察

在虚拟化容器中部署和分发应用程序的Docker开源平台有很多优点。本文介绍了企业应了解的关于这项流行技术的一些事项。Docker容器架构Docker容器的架构由带有主机操作系统的物理机器组成。Docker引擎部署在主机操作系统上,该引擎帮助构建托管运行应用程序的虚拟容器。Docker引擎构建可在其上部署应用程序的隔离容器。与典型的管理程序解决方案不同,Docker不需要为每个应用程序构建单独的虚拟机,也不需要为每个虚拟机安装客户操作系统(guestOS)。在基于管理程序的应用程序虚拟化中,虚拟化平台(例如Hyper-V或VMware)部署在具有主机操作系统的物理服务器上。虚拟机建立在虚拟化平台上,每个虚拟机都有独立的客户操作系统。应用程序部署在所有这些层上。托管和运行如此多的虚拟机(每个虚拟机都有自己的客户操作系统)使得这种架构比Docker容器占用更多资源。容器自动化Docker容器通常提供内置工具来自动化容器配置过程,为此它可以利用任何现有应用程序容器的源代码。这需要处理服务、依赖项、打包等。Docker还提供了范围广泛的预配置Docker镜像,可以帮助组织快速部署应用程序容器。为了完成同一组任务,任何管理程序解决方案都需要一个复杂的过程,包括将应用程序连同依赖项和工具克隆到独立的包中。计算资源需求在Docker容器中,应用程序直接构建在Docker引擎上,因此不需要客户操作系统。此功能有助于降低托管多个来宾操作系统的总体系统要求(例如处理器或内存)。这也减少了对计算资源的需求,从而降低了部署成本。与Docker容器不同,基于管理程序的应用程序需要额外的来宾操作系统和其他依赖项才能使应用程序实际运行。#p#进程隔离和安全在Docker容器中,每个应用程序或容器都与其他应用程序或容器隔离,但它们都使用同一个根(root)。这提供了简化管理的优势,但也带来了一些缺点。例如,如果根被破坏,主机容器可能处于危险之中。相比之下,管理程序解决方案提供了某种程度的完全隔离,具体取决于要求。Docker公司正在努力解决Docker容器的安全问题。该公司最近与行业专家合作,并与互联网安全中心一起发布了部署Docker1.6或更新技术的安全最佳实践。启动时间容器直接构建在Docker引擎上;启动应用程序所需的时间完全取决于应用程序的类型。底层内核已经在运行,并且没有中间操作系统(来宾操作系统)缩短了容器启动时间。在管理程序中,总系统启动时间包括客户操作系统的启动时间和应用程序的启动时间。应用程序交付Docker允许在“Dockerized”容器中跨不同环境分发或交付应用程序,所有依赖项都捆绑到一个包中。例如,如果要将应用从开发环境迁移到测试环境,再迁移到生产环境,则可以将整个容器作为一个实体打包迁移;该应用程序仍然绑定到所有环境配置。这有助于应用程序在不同部门之间、团队成员之间或通过云进行迁移,而没有任何失败风险。在管理程序解决方案中,打包和迁移应用程序以及所有相关服务和工具总是有可能导致环境中断。#p#硬件兼容性借助Docker容器,管理员可以构建应用程序,而无需考虑对来宾操作系统的任何依赖性。这使得应用程序轻量级、快速且开销低,同时消除了潜在的平台兼容性问题。在管理程序解决方案中,每个虚拟机都有一个专用的来宾操作系统,这使得它比Docker容器应用程序的响应成本更高且速度更慢。在特定管理程序平台中构建的任何虚拟机都不能在另一个管理程序平台上运行。企业级特性尽管许多企业组织已经开始使用Docker容器进行应用程序虚拟化,但该技术仍然缺乏一些企业级虚拟化特性,例如细粒度访问控制、容器迁移、日志和备份恢复等,而且大多数hypervisor平台支持这些企业级功能。如果企业组织正在考虑将虚拟化应用程序部署到生产环境中,则建议使用管理程序解决方案,因为:基于Docker的解决方案在提供企业级功能方面存在不足。供应商有许多供应商提供与容器技术相关的产品和服务。自2013年以来,负责Docker开源项目的商业公司Docker,Inc.一直主导着容器虚拟化市场。最近,其他供应商包括采用LXD技术的Canonical和采用Rocket技术的CoreOS也开始进入容器市场。原标题:Docker容器9个基本事实