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

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



