深入理解容器场景与 Docker 概述(上)
1. 容器简介
容器化是虚拟机的一种替代方案,它将应用程序封装起来,并为其提供独立的运行环境。容器的基础是 Linux 容器(LXC),它是 Linux 内核隔离功能的用户空间接口。借助强大的 API 和简单的工具,Linux 用户可以创建和管理应用程序容器。LXC 容器介于 chroot 和成熟的虚拟机之间。与传统的虚拟机管理程序不同,容器共享运行主机操作系统的 Linux 内核,因此同一台机器上运行的多个容器使用相同的 Linux 内核,这使得容器具有速度快、几乎零性能开销的优势。
容器的主要用例包括:
- OS 容器 :可以将其想象成虚拟机,但与虚拟机不同的是,它们共享主机操作系统的内核,但提供用户空间隔离。类似于虚拟机,可以为容器分配专用资源,并安装、配置和运行不同的应用程序、库等。OS 容器在可扩展性测试中很有用,可以轻松部署不同发行版的容器,成本远低于虚拟机的部署。容器由模板或镜像创建,这些模板或镜像决定了容器的结构和内容,可用于创建具有相同环境、包版本和配置的容器,常用于开发环境设置。适合 OS 容器的技术有 LXC、OpenVZ、Docker 和 BSD jails 等。
- 应用程序容器 :设计用于在包中运行单个服务,而前面提到的 OS 容器可以支持多个进程。Docker 和 Rocket 推出后,应用程序容器受到了广泛关注。每次启动容器时,它只运行一个进程,该进程运行一个应用程序进程,而 OS 容器则在同一操作系统上运行多个服务。容器通常采用分层方法,如 Docker 容器,有助于减少重复并提高重用性。可以从所有组件通用的基础镜像开始启动容
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



