第5章 容器底层技术-【千锋教育】Linux容器云实战——Docker与Kubernetes集群(慕课版)同步教案

2023-03-23
| 13页
| 109人阅读
| 0人下载
教辅

内容正文:

课程名称 第5章 容器底层技术 计划学时 4学时 内容分析 本章主要介绍Docker基本架构、Namespace、Cgroups、Docker文件系统 教学目标 与教学要求 要求学生了解容器的底层技术、熟悉Namespace隔离机制、熟悉Cgroup资源控制原理、理解容器底层技术原理 教学重点 Namespace、Cgroups、Docker文件系统 教学难点 Namespace、Cgroups、Docker文件系统 教学方式 课堂讲解及ppt演示 教 学 过 程 第一课时 (Docker基本架构、Namespace) 回顾内容 1.介绍本书,引出本课时的主题 Docker容器能够在服务器中高效运行,离不开容器底层技术的支持。为了更好地理解容器的运行原理,本章将会以Linux宿主机为例,介绍容器的底层技术,包括容器的命名空间、控制组、联合文件系统等。 2.明确学习目标 (1) 能够了解服务端 (2) 能够了解客户端 (3) 能够掌握Namespace介绍 (4) 能够掌握Namespace的类型 (5) 能够深入理解Namespace (6) 能够掌握Namespace的劣势 知识讲解 · 服务端 Docker服务端也就是Docker daemon,一般在宿主机后台运行,接收来自客户的请求、并处理这些请求。在设计上,Docker 服务端是一个模块化的架构,通过专门的Engine模块来分发、管理各个来自客户端的任务。 Docker服务端默认监听本地的unix:///var/run/Docker.sock套接字,只允许本地的root用户或Docker用户组成员访问,可以通过-H参数来修改监听的方式。 例如,让服务器监听本地的TCP连接1234端口,代码如下所示: 此外,Docker还支持通过HTTPS认证的方式来验证访问。 在Debian/Ubuntu14.04等使用upstart管理启动服务的系统中,Docker服务端的默认启动配置文件在/etc/default/Docker。在使用systemd管理启动服务的系统,配置文件在/etc/systemd/system/Docker.service.d/Docker.conf。 · 客户端 用户不能与服务端直接交互,Docker客户端为用户提供一系列可执行命令,用户通过这些命令与Docker服务端进行交互。 用户使用的Docker可执行命令就是客户端程序。与Docker服务端不同的是,客户端发送命令后,等待服务端返回信息,收到返回信息后,客户端立刻执行结束并退出。用户执行新的命令时,需要再次调用客户端命令。同样,客户端默认通过本地的unix:///var/run/Docker.sock套接字向服务端发送命令。如果服务端不在默认监听的地址,则需要用户在执行命令时指定服务端地址,如图所示。 · Namespace介绍 Linux操作系统中,容器用来实现“隔离”的技术称为Namespace(命名空间)。 Namespace技术实际上修改了应用进程看待整个计算机的“视图”,即应用进程的“视线”被操作系统做了限制,只能“看到”某些指定的内容,如图所示。 但对于宿主机来说,这些被进行“隔离”的进程跟其他进程并没有太大区别。 下面运行一个CentOS7容器,示例代码如下: 从以上示例中可以看到,bash是这个容器内部的第1号进程,即PID=1,而这个容器里一共只有两个进程在运行,这就意味着,前面执行的/bin/sh,以及刚刚执行的 ps,已经被Docker 隔离在一个与宿主机完全不同的空间当中。 理论上,每当在宿主机上运行一个/bin/sh程序,操作系统都会给它分配一个进程编号,例如,PID=100。这个编号是进程的唯一标识,就像员工的工号一样。所以,PID=100,可以粗略地理解为这个/bin/sh是公司里的第100号员工。 而现在,要通过Docker把/bin/sh运行在一个容器当中。这时,Docker就会在这个第100号员工入职时给他施一个“障眼法”让他永远看不到前面的其他99个员工,这样,他就会以为自己就是公司里的第1号员工。 · Namespace的类型 命名空间分为多种类型,对应用程序进行不同程度的隔离,下面一一讲解。 1.Mount namespace Mount Namespace将一个文件系统的顶层目录与另一个文件系统的子目录关联起来,使其成为一个整体。该子目录称为挂载点,这个动作称为挂载。 2.UTS namespace UTS(UNIX Time-sharing System,UNIX分时系统)Namespace提供主机名和域名的隔离,使子进程有独立的主机名和域名,这一特性在Docker容器技术中被运用,使Docke

资源预览图

第5章 容器底层技术-【千锋教育】Linux容器云实战——Docker与Kubernetes集群(慕课版)同步教案
1
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。