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

什么是容器?我们为什么关心它?

时间:2023-03-12 21:56:47 科技观察

什么是容器?你需要它们吗?为什么?在本文中,我们将回答这些基本问题。然而,为了回答这些问题,我们需要提出更多的问题。当您开始考虑如何使用容器来适配您的工作时,您需要弄清楚:您在哪里开发应用程序?你在哪里测试它?你在哪里使用它?您可能正在笔记本电脑上开发应用程序,并且您的计算机已经安装了所需的库文件、扩展包、开发工具和开发框架。在模拟生产环境的机器上进行测试,然后在生产环境中使用。问题是这三种环境不一定相同;他们没有相同的工具、框架和库。您在机器上开发的应用程序可能无法在生产环境中正常运行。容器解决了这个问题。正如Docker所解释的那样,“容器镜像是一个轻量级的、独立的、可执行的软件包,其中包括执行它所需的一切:代码、运行时、系统工具、系统库、设置。”这代表应用程序一旦被打包到容器中,它所依赖的底层环境就不再重要了。它可以在任何地方运行,甚至可以在混合云环境中运行。这是容器在开发人员、执行团队甚至CIO(信息官)中如此流行的原因之一。容器对开发人员的好处现在,开发人员或运营商无需担心他们将使用什么平台来运行他们的应用程序。开发人员不再说:“这在我的系统上运行良好。”容器的另一大优势是它们的隔离性和安全性。因为容器将应用和运行平台隔离开来,应用和它周围的东西都会变得安全。同时,不同的团队可以同时在同一台设备上运行不同的应用——这对于传统应用来说是不可能的。这不是虚拟机(VM)提供的吗?它是,它不是。虚拟机可以隔离应用程序,但是它的负载太高了。在一篇文献[1]中,Canonical比较了容器和虚拟机,结果是:“容器提供了一种新的虚拟化方法,其资源隔离级别几乎与传统虚拟机相同。但容器的负载要小得多,它占用的内存更少,效率更高。这意味着高密度虚拟化:一旦安装,您可以在同一硬件上运行更多应用程序。”此外,虚拟机需要更多Ready,而容器在秒级运行,实现即时启动。、日志记录或生命周期管理。为了确保容器可以在任何地方运行,容器生态系统聚集在一起形成了开放容器倡议[2](OCI)。这是一个LinuxFoundation项目,目标是为容器的两个核心部分——容器运行环境和容器镜像格式创建规范。这两个规范确保容器的世界不会出现任何不一致的情况。长期以来,容器是Linux内核独有的,但微软和Docker密切合作,将容器引入微软平台。现在,您可以在Linux、Windows、Azure、AWS、GoogleComputeEngine、Rackspace和大型计算机上使用容器。甚至VMware也在转向容器,其vSphereIntegratedContainer[3](VIC)允许IT专业人员在其平台上的传统工作负载之上运行容器。容器对CIO的好处由于上述原因,容器在开发人员中变得流行,但它们也为CIO带来了巨大的好处。将工作负载转移到容器中的优势正在改变公司的运营方式。传统应用程序的生命周期约为十年。新版本的发布需要多年的努力,而且由于应用程序依赖于平台,因此有时需要多年才能投入生产。由于这个生命周期,开发人员试图将尽可能多的功能塞进应用程序中,这使得应用程序变得笨重、笨拙且充满错误。这个过程影响了公司内部的创新文化。当人们几个月甚至几年都看不到他们的想法实现时,他们就会失去动力。容器解决了这个问题。因为您可以将应用程序拆分为更小的微服务。您可以在几周或几天内开发、测试和部署。新功能可以作为新容器添加。它们可以在测试后尽快投入生产。公司可以比竞争对手更快地转型。这种方法允许想法爆炸,因为想法可以快速转化为容器并部署。结论容器解决了传统工作负载面临的许多问题。但是,它并不能解决IT专业人员面临的所有问题。这只是众多解决方案中的一种。在下一篇文章中,我们将介绍一些基本的容器术语,然后我们将解释如何开始构建容器。