3云中的容器插图
跳转到节

什么是Linux容器?

复制URL

Red Hat被提名为2023年Gartner®Magic Quadrant™的领导者

在Gartner 2023集装箱管理幻方图中,Red Hat在执行能力方面排名最高,在实现愿景方面排名最靠前。

A类Linux®容器是一组与系统其余部分隔离的1个或多个进程。运行它们所需的所有文件都是从一个不同的映像中提供的,这意味着Linux容器在从开发到测试,最后到生产的过程中是可移植的和一致的。这使得它们比依赖于复制传统测试环境的开发管道更快地使用。由于它们的普及性和易用性,容器也是IT安全.

假设您正在开发一个应用程序。您在笔记本电脑上工作,并且您的环境具有特定配置。其他开发人员的配置可能略有不同。您正在开发的应用程序依赖于该配置,并且依赖于特定的库、依赖项和文件。同时,您的企业拥有标准化的开发和生产环境,这些环境具有自己的配置和支持文件集。您希望尽可能在本地模拟这些环境,但不需要重新创建服务器环境的所有开销。那么,你如何使你的应用程序在这些环境中工作,通过质量保证,并在部署应用程序时不出现大量麻烦、重写和破坏?答案是:容器。

什么是容器

容纳应用程序的容器具有必要的库、依赖项和文件,因此您可以在生产过程中移动应用程序,而不会产生恶劣的副作用。事实上,容器图像的内容是使用开源工具创建的,比如布尔达-可以认为是安装了Linux发行版因为它包含RPM包、配置文件等。但是,容器映像分发比安装操作系统的新副本容易得多。危机避免了,每个人都很幸福。

这是一个常见的例子,但是Linux操作系统容器可以应用于许多需要可移植性、可配置性和隔离性的不同问题。Linux容器的目的是更快地开发并满足业务需求。在某些情况下,例如使用Apache Kafka实现实时数据流,容器是必不可少的,因为它们是提供应用程序所需可伸缩性的唯一方法。无论是在什么样的基础设施上或两个集装箱的混合满足需求。当然,选择正确的容器平台与容器本身一样重要。

Red Hat®OpenShift®包括混合云、企业容器和Kubernetes开发和部署所需的一切。OpenShift作为云服务提供或者您可以自己管理OpenShift以实现更大的灵活性和定制。

不完全是。把它们看作是互补的。这里有一个简单的方法来思考2:

  • 虚拟化允许您的操作系统(Windows或Linux操作系统)在单个硬件系统上同时运行。
  • 容器共享相同的操作系统内核,并将应用程序进程与系统的其余部分隔离开来。例如:ARM公司Linux系统运行ARM Linux容器,x86 Linux系统运行x86 Linux容器,而x86 Windows系统运行x86Windows容器。Linux容器非常可移植,但它们必须兼容使用底层系统。
虚拟化与容器

这意味着什么?对于初学者来说,虚拟化使用虚拟机监控程序来模拟硬件,这允许多个操作系统并行运行。这并不像使用容器那样轻。当您拥有有限的资源和有限的功能时,您需要可以密集部署的轻量级应用程序。Linux容器在操作系统上以本机方式运行,在所有容器中共享,因此您的应用程序和服务保持轻量级并快速并行运行。

Linux容器是我们在开发、部署和管理应用程序方面的又一次进化飞跃。Linux容器映像提供了可移植性和版本控制,有助于确保在开发人员的笔记本电脑上工作的内容也能在生产中工作。称为黄金形象为系统配置创建一致、可靠的基线。与虚拟机相比,运行中的Linux容器资源密集度较低,具有标准接口(启动、停止、环境变量等),保留了应用程序隔离,并且更容易作为大型应用程序(多个容器)的一部分进行管理。此外,这些多容器应用程序可以跨多个云进行协调。

甚至还有一些工具可以将容器编排和虚拟机管理结合起来。在中了解更多信息这条2020年红帽峰会赛道,其中包括关于此类工具的专题讨论会。

Linux容器项目(LXC)是一个开源容器平台,它提供了一组工具、模板、库和语言绑定。LXC有一个简单的命令行界面,可以提高启动容器时的用户体验。

LXC提供了一个操作系统级虚拟化环境,可安装在许多基于Linux的系统上。您的Linux发行版可以通过其软件包存储库获得它。

我们现在称之为容器技术的想法最初出现于2000年FreeBSD监狱,一种允许对免费BSD系统划分为多个子系统或监狱。监狱被开发为安全的环境,系统管理员可以与组织内外的多个用户共享。

2001年,一个独立环境的实现通过Jacques Gélinas的VServer项目。一旦为Linux中的多个受控用户空间建立了这个基础,就开始形成今天的Linux容器。

很快,更多的技术结合起来,使这种孤立的方法成为现实。对照组(控制组)是一个内核功能,用于控制和限制进程或进程组的资源使用。而且系统cgroups使用一个初始化系统来设置用户空间并管理其进程,以对这些孤立的进程提供更好的控制。这两种技术在增加对Linux的总体控制的同时,也是环境如何成功保持分离的框架。

进入Docker

2008年,Docker来到了现场(通过dotCloud)与他们同名的容器技术。docker技术添加了许多新概念和工具——一个用于运行和构建新分层映像的简单命令行界面、一个服务器守护进程、一个预先构建的容器映像库,以及注册表服务器的概念。结合使用这些技术,用户可以快速构建新的分层容器并轻松与他人共享。

有三个主要标准可确保集装箱技术的互操作性——OCI图像、分销和运行时规范。结合这些规范,社区项目、商业产品和云提供商可以构建可互操作的容器技术(考虑将自定义构建的图像推送到云提供商的注册服务器中,您需要这样做)。如今,Red Hat和Docker等公司都是开放式集装箱倡议(OCI)-实现集装箱技术的开放式行业标准化。

集装箱很受欢迎,但它们有多安全?容器安全性有很多活动部件——需要保护容器管道和应用程序;部署环境和基础架构,您需要一个与企业安全工具和策略集成的计划。你需要一个计划。我们可以提供帮助。

Red Hat在开源社区使技术(如容器)安全、稳定和可靠。这就是我们所做的。然后我们支持这些技术。所以如果你需要帮助,我们就在那里。

Red Hat的技术以正确的方式处理容器,消除了所有的猜测。无论是你的开发团队在构建容器的平台上,在一流的操作系统上运行容器基础设施,或提供存储Red Hat的解决方案涵盖了容器生成的大量数据。

继续阅读

第条

什么是Linux容器?

Linux容器是一组与系统隔离的进程,从一个不同的映像运行,该映像提供了支持这些进程所需的所有文件。

第条

容器与虚拟机

Linux容器和虚拟机(VM)是组合了各种IT组件并将其与系统其余部分隔离的打包计算环境。

第条

什么是容器编排?

容器编排自动化了容器的部署、管理、扩展和联网。

有关容器的详细信息

产品

一个企业应用程序平台,具有一套统一的测试服务,可根据您选择的基础设施将应用程序推向市场。

资源

播客

《命令行英雄》第1季第5集:
“集装箱德比”

电子图书

通过混合云和容器提高灵活性

培训

免费培训课程

使用Red Hat运行容器技术概述

免费培训课程

容器、Kubernetes和Red Hat OpenShift技术概述

免费培训课程

使用微服务架构开发云计算应用程序