Linux 容器提供了轻量级虚拟化方法,可在单台主机上同时运行多个虚拟环境(容器)。这与 chroot 环境类似。容器通过内核控制组 (cgroup) 和内核名称空间进行隔离。

容器提供操作系统级别的虚拟化,在此级别由内核控制隔离的容器。此方法与 Xen 或 KVM 等全虚拟化解决方案不同,在后者中,处理器将模拟整个硬件环境并控制虚拟机。

从概念上讲,可将容器视为一种改进的 chroot 技术。chroot 环境仅隔离文件系统,而容器可以通过 cgroup 进一步提供资源管理和控制。

由于容器会实时管理资源分配,因此可提供接近本机的性能。

通过 cgroup 控制网络接口并在容器内部应用资源。

容器在主机系统内核的内部运行,因此无法使用不同的内核或不同的内核版本。

只有基于 Linux 的应用程序才可容器化。

容器不安全,总体安全性取决于主机系统。可以通过 AppArmor 或 SELinux 配置文件保护容器化应用程序。