ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

什么是容器化?

2022-09-11 10:35:05  阅读:214  来源: 互联网

标签:容器 操作系统 它们 虚拟机 应用程序 什么 运行


什么是容器化?

Photo by 伊恩·泰勒 on 不飞溅

介绍

在软件开发领域,有许多不同的方式来部署应用程序。例如,您可以使用虚拟机 (VM) 或容器,将代码和依赖项打包到应用程序层的抽象中。容器抽象了在您的机器上运行操作系统和操作系统内核的所有复杂性,因此只有您的应用程序在性能、可扩展性、安全风险和与在每个应用程序环境中管理多个虚拟机/容器相关的开销成本方面很重要;从而使跨团队甚至跨环境(开发、测试和生产)工作的开发人员更容易。

容器是应用层的抽象,它将代码和依赖项打包在一起。

容器是应用层的抽象,它将代码和依赖项打包在一起。容器是一种轻量级、快速和现代的方式,通过将应用程序封装在一个独立的环境中来运行它们。

重要的是要了解容器不仅包含您的代码——它们还提供在其上运行的多个进程之间的隔离;这意味着您可以在同一主机上同时运行多个应用程序,而不会相互干扰或影响整个系统。

多个容器可以在同一台机器上运行,并与其他容器共享操作系统内核,每个容器在用户空间中作为独立进程运行。

容器是隔离的,因此您可以在一台机器上运行多个容器。每个容器在不访问其他资源(如文件系统或网络接口)的情况下获取其内核。

操作系统内核在池中的所有容器之间共享。

与 VM 相比,容器占用的空间更少(容器映像的大小通常为数十 MB)并且几乎可以立即启动。

容器最明显的好处是它们占用的空间比 VM 少(容器映像的大小通常为数十 MB)。这很重要,因为如果您运行的是 Windows 或 Linux,并且需要存储您的 VM 文件,您可能会发现自己有数百 GB 的数据占用了宝贵的服务器机房空间。容器没有这个问题,因为它们只是没有现有操作系统的镜像;只要您的主机操作系统支持 Docker,您就可以运行任何您想要的东西。

容器的另一个优点是它们的启动速度:对于大多数现代服务器来说,不到一分钟!这使得它们可以非常高效地快速部署应用程序,而无需等待数小时才能看到那些以总容量(或关闭)运行的机器的任何结果。这也意味着如果应用程序本身出现问题——例如,如果在部署过程中出现错误——你会相对快速地知道哪里出了问题,而不必等到明天早上每个人都从午休时间回来才发现事情是怎么出错的。”

容器化如何运作?

容器是一种轻便的便携式单元,可以在环境之间轻松移动。容器与主机以及彼此隔离。这使得一次创建和管理多个容器变得容易,每个容器可以运行不同版本的服务(例如,数据库)。

容器还使您能够在组织中的团队之间共享工作负载——这意味着您不必担心每个团队都有自己的应用程序或数据库实例!您可以只使用一个命令行工具(例如 Docker)部署容器,这意味着它们将在几秒钟内启动并运行,无需任何配置。

让我们退后一步,考虑一下应用程序环境在开发、测试、登台和生产之间有何不同。

在应用程序开发的上下文中,存在三种环境:开发、测试和生产。开发是您编写代码的地方。测试是您运行自动化测试的地方,以确保您的代码在真实环境(如登台或生产)中按预期工作。最后,生产是您的代码实际运行的地方!

这是一个重要的区别,因为它使我们能够更好地理解容器在这些环境中的工作方式。

考虑到这一点,很明显您的应用程序需要跨环境移植;也就是说,它应该在任何地方都运行相同。

容器是可以快速启动和关闭的轻量级虚拟机。容器旨在相互隔离地运行应用程序,使它们能够在任何操作系统和硬件上运行。

使用容器有几个原因:

  • 通过将应用程序与其底层主机系统隔离开来,它们提供了比虚拟机 (VM) 更大的灵活性。这使开发人员可以在不同的环境中部署他们的应用程序而不会中断,这可以在构建企业级应用程序时节省时间和金钱。
  • 容器还允许您快速测试您的代码,而无需任何特殊的硬件或配置更改,因为它们完全可以跨各种平台(例如,Linux 与 Windows)移植。

由于应用程序的不同部分可能由不同的团队开发,因此您还需要一种分发应用程序的方法,而不必同时分发整个基础架构堆栈。理想情况下,这将允许我们以这样一种方式“打包”我们的应用程序,以便我们可以将它从一个环境无缝地传送到另一个环境。这就是容器的作用!

容器是一种将应用程序及其依赖项打包在一起的方式,使得它们可以在任何系统上运行,而无需整个基础架构堆栈。由于应用程序的不同部分可能由不同的团队开发,因此您还需要一种分发应用程序的方法,而不必同时分发整个基础架构堆栈。理想情况下,这将允许我们以这样一种方式“打包”我们的应用程序,以便我们可以将它从一个环境无缝地传送到另一个环境。这就是容器的作用!

由于容器在 Linux 之上运行,因此它们比虚拟机 (VM) 更轻量级。事实上,您可能会发现在尝试构建大规模微服务架构时使用虚拟机并不实用,因为它们需要额外的资源,例如内存和 CPU 能力,这通常会导致比直接在操作系统中从头开始运行容器而不是直接运行容器更高的成本。在根本不需要这些额外资源的虚拟机中运行它们。

结论

我希望您发现这篇文章有趣且内容丰富。您可能想知道容器是否适合您的组织,但我鼓励您在开始这条道路之前不要等待太久。如果您仍然对它们是否会使您的公司受益持观望态度,这里有一些建议:

不要等到为时已晚——现在就开始吧!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/27292/12151110

标签:容器,操作系统,它们,虚拟机,应用程序,什么,运行
来源: https://www.cnblogs.com/amboke/p/16683607.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有