容器技术之 PPT 教案
容器技术是指在操作系统层面上对应用程序进行隔离和资源限制的一种技术。这种技术可以使得多个应用程序在同一个操作系统上运行,而不需要使用虚拟机技术。容器技术可以提供轻量级的虚拟化解决方案,提高服务器的利用率和效率。
容器技术的基本概念包括:
1. 容器:是一个可以运行自己的 Linux 程序的独立设备,可以拥有自己的 IP 地址,且可以访问网络。
2. 容器化:是指将应用程序和其依赖项打包到一个容器中,实现应用程序的隔离和资源限制。
3. Docker:是一个容器技术的实现,提供了容器的创建、运行和管理功能。
容器技术的历史可以追溯到 1982 年的 Chroot 技术,之后出现了 Pivot_root 技术,后来又出现了 Virtuozzo、Linux-VServer、OpenVZ 等容器技术。到了 2005 年,OpenVZ 项目开始推动容器技术进入 Linux 内核主线。
容器技术的核心概念包括:
1. Namespace:是指程序运行环境的隔离,可以将内核中的全局变量改为 per-namespace 变量,实现程序的隔离。
2. Cgroup:是指计算资源的 QoS,将计算资源分配给不同的进程组,以实现资源的限制和隔离。
3. Namespace 的类别包括 Mount Namespace、PID Namespace、Network Namespace 等。
Cgroup 子系统包括:
1. blkio:设置限制每个块设备的输入输出控制。
2. cpu:使用调度程序为 cgroup 任务提供 cpu 的访问。
3. cpuacct:产生 cgroup 任务的 cpu 资源报告。
4. cpuset:如果是多核心的 cpu,分配单独的 cpu 和内存。
5. devices:允许或拒绝 cgroup 任务对设备的访问。
6. freezer:暂停和恢复 cgroup 任务。
7. memory:设置每个 cgroup 的内存限制以及产生内存资源报告。
8. net_cls:标记每个网络包以供 cgroup 使用。
9. ns:名称空间子系统。
10. perf_event:增加了对每 group 的监测跟踪的能力。
Linux 容器虚拟技术(LXC)是指通过虚拟化操作系统的方式来管理代码和应用程序,实现轻量级虚拟化和资源isolated 分组。
容器技术之 Docker 是指使用 Docker containerization 技术来实现容器的创建、运行和管理。Docker 生态系统包括 Docker Hub、Docker Compose、Docker Swarm 等。
容器技术是指在操作系统层面上对应用程序进行隔离和资源限制的一种技术,可以提供轻量级的虚拟化解决方案,提高服务器的利用率和效率。