什么是 Linux 容器?

Shipping containers stacked

维基共享资源

简而言之,Linux 容器以一种将应用程序与它们运行在其上的主机系统隔离的方式包含应用程序。容器允许开发人员将应用程序与其所需的所有部分(例如库和其他依赖项)打包在一起,并将它们作为一个软件包发布。它们旨在使开发人员和系统管理员在快速且可复制的方式中将代码从开发环境转移到生产环境时,更容易提供一致的体验。

技术简介
了解如何保护您的容器平台
跨堆栈
在某种程度上,容器的行为类似于虚拟机。对于外部世界,它们看起来像自己完整的系统。但是,与虚拟机不同,容器不需要复制整个操作系统,而只需要复制它们运行所需的各个组件,而不是创建整个虚拟操作系统。这显着提高了性能并减小了应用程序的大小。它们的运行速度也快得多,因为与传统的虚拟化不同,该过程本质上是在其主机上本地运行,只是周围增加了一层保护。

重要的是,许多驱动容器技术的技术都是开源的。这意味着它们拥有广泛的贡献者社区,有助于促进各种相关项目的快速发展,以满足各种不同组织(无论大小)的需求。

为什么对容器如此感兴趣?

毫无疑问,最近对容器技术产生兴趣的最大原因之一是Docker开源项目,这是一个命令行工具,它使开发人员和系统管理员可以轻松地创建和使用容器,类似于Vagrant使开发人员可以更轻松地轻松探索虚拟机的方式。

Docker 是一个命令行工具,用于以编程方式定义代码中 Linux 容器的内容,然后可以像程序源代码一样轻松地对容器进行版本控制、复制、共享和修改。

容器还激发了人们对微服务架构的兴趣,这是一种用于开发应用程序的设计模式,其中复杂的应用程序被分解为更小的、可组合的组件,这些组件协同工作。每个组件都是单独开发的,然后应用程序只是其组成组件的总和。每个组件或服务都可以存在于容器内部,并且可以根据需要独立于应用程序的其余部分进行扩展。

如何编排容器?

仅仅将您的应用程序放入容器中可能不会在您组织的运营方式上产生巨大的转变,除非您还改变了部署和管理这些容器的方式。用于管理和组织 Linux 容器的一种流行系统是Kubernetes

[下载我们的容器入门]

Kubernetes 是一个用于管理容器集群的开源系统。为此,它提供了用于部署应用程序、根据需要扩展这些应用程序、管理对现有容器化应用程序的更改以及帮助您优化容器下方底层硬件使用的工具。它旨在具有可扩展性,并通过允许应用程序组件根据需要重新启动并在系统之间移动而具有容错性。

IT 自动化工具(如 Ansible)和平台即服务项目(如 OpenShift)可以增加额外的功能,使容器的管理更加容易。

如何确保容器安全?

容器通过将应用程序与其他主机操作系统上的应用程序隔离来增加安全性,但仅仅容器化应用程序不足以保持其安全。计算机安全专家 Dan Walsh 因其在 SELinux 方面的工作而闻名,他解释了开发人员正在努力确保 Docker 和其他容器工具确保容器安全的一些方法,以及 Docker 中当前的一些安全功能以及它们如何运作。

在哪里可以了解更多信息?

以下是您可能感兴趣的其他一些资源。

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.