下面是小编为大家整理的Docker容器管理与应用项目教程,,教案全套,,项目1--8,,配置管理磁盘---,,Kubernetes多机编排容器【通用文档】,供大家参考。
《Docker 容器管理与应用项目教程 》
教学设计
课程名称:
r Docker 容器 技术
授课年级:
年级
授课学期:
学年第一学期
教师姓名:
年 月 01 日
【教学导航】
项目名称 态 部署动态 web 应用
建议学时 10 学时 教学内容 (1)安装虚拟服务器 (2)熟练 VMware 常用操作 (3)使用 Xshell 登录服务器 (4)安装 Lamp 服务运行环境 (5)部署 Php 动态企业网站 (6)安装 Docker 服务 (7)镜像和容器基础运维 (8)容器部署 Php 动态 Web 应用
学习目标 (1)了解 Linux 发展历史 (2)掌握使用 Xshell 登录虚拟机的步骤 (3)掌握系统、服务、应用的区别 (4)掌握安装 Lamp 服务环境的方法 (5)掌握 Php 动态网站的部署方法 (6)掌握 Docker 容器的应用场景。
(7)掌握安装 Docker 服务的方法。
(8)掌握镜像和容器运维的基础命令。
教学方式 本章内容以理论讲解、实际演示为主。
重点知识
1、安装登录 CentOS7.8 服务器 2、常规方法部署 Web 应用 3、 Docker 容器部署 Web 应用
关键词 磁盘配额、lvm 逻辑卷、raid10 【教学过程】
务 任务 1 安装登录 CentOS7.8 服务器( (2 学时)
一 、创设 情境 ,引出知识点
(1)根据生活中的例子 你刚入职一家网络运维公司,公司的主营业务是帮助客户搭建 Web 应用服务,技术主管要求你使用 VMware15 安装一台虚拟 Linux(CentOS7.8)服务器,并使用 Xshell 工具登录到服务器上。
(2)进入主题,展开详细讲解 会使用 VMware 安装 Linux 服务器、会使用 VMware 管理 Linux 服务器、会使用 Xshell登录虚拟机
(3)明确学习目标 知识目标:
(1)了解 Linux 发展历史 (2)掌握使用 Xshell 登录虚拟机的步骤 能力目标:
(1)会使用 VMware 安装 Linux 服务器 (2)会使用 VMware 管理 Linux 服务器 (3)会使用 Xshell 登录虚拟机
二 、进入重点知识的讲解
1、 、用 使用 VMware 安装 CentOS7.8 虚拟机 1.1 认识 Linux 1)Linux 概况 Linux 是一套自由加开放源代码的类操作系统,诞生于 1991 年 10 月 5 日(第一次正式向外公布),由芬兰学生 Linus Torvalds 和后来陆续加入的众多爱好者共同开发完成。Linux 是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。
Linux 能运行主要的 Unix 工具软件、应用程序和网络协议,可支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux 存在着许多不同的版本,但它们都使用了 Linux 内核,可安装在各种计算机设备中,比如:手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。严格来讲,Linux 这个词本身只表示 Linux 内核,但实际上人们已经习惯了用 Linux 来形容整个基于 Linux 内核,并且使用 GNU 工程各种工具和数据库的操作系统。
2).Linux 内核版本 使用命令字 uname -r 查看 Linux 内核版本号,如图 1-2 所示。
图 1-2Linux 内核版本 下面来解释一下该内核版本号 2.6.32-696.el6.x86_64 各项的含义。
2:当前内核主版本号。
6:当前内核次版本号。
32-696:32 表示为当前内核更新次数,696 表示当前内核修补次数。
el6:当前内核为 RHEL6 系列的。
x86_64:代表这是 64bit 的系统。
3.)Linux 发行版本 Linux 有很多的发行版本,好比 Windows 有 Windows XP、Windows 7、Windows 10。虽然这个类比不是很恰当,但是对于初学者来说可以暂时这样理解。
1.2 安装虚拟机 1. 使用 VMware15 新建虚拟机 1)首先在计算机的E盘(非还原磁盘)建立名称为Linux的文件夹,然后打开VMware15软件,在主页选项卡下单击创建新的虚拟机按钮,选择典型(推荐)选项,单击“下一步”按钮,安装来源选择“稍后安装操作系统”单选按钮 2.虚拟机安装操作系统 如图 1-9 所示,选择“我的计算机”下的“CentOS7”选项,单击“开启此虚拟机”选项。
1-9 开启安装虚拟机 2 、 、用 使用 Xshell 登录虚拟机 在生产环境也就是实际工作中,不可能每次都要到机房去操作服务器,而是通过远程登录工具登录到服务器上,去配置管理服务器。下面就来介绍如何使用 Xshell 远程登录工具登录到刚才安装的 CentOS7 服务器。
2.1 查看服务器 IP 地址 首先开启虚拟机将 CentOS7 服务器开机,在登录界面输入 localhost login:处输入用户名 root,密码是安装系统时候设置的 1,进入系统后,输入命令 ip addr 查看网络配置,如图1.1-18 所示,看到虚拟机网卡 ens33 的 IP 地址是 192.168.0.128,使用这个地址可以远程登录这台服务器。
三 、任务拓展训练 1)在自己的笔记本电脑中动手安装一台虚拟机,操作系统为 CentOS7.8。
2)使用 Xshell 登录 CentOS7.8,调整字体和终端显示效果。
务 任务 2 署 常规方法部署 Web 应用 (4 学时)
一 、创设 情境 ,引出知识点
(1)根据生活中的例子 你完成了 CentOS7.8 虚拟服务器的创建和登录工作,技术主管要求你在这台服务器上部署 Lamp 运行环境,并部署 Php 动态 Web 网站。
(2)进入主题,展开详细讲解 安装 Lamp 服务运行环境、部署 Php 动态企业网站 (3)明确学习目标 知识目标:
(1)掌握系统、服务、应用的区别 (2)掌握安装 Lamp 服务环境的方法 (3)掌握 Php 动态网站的部署方法 能力目标:
(1)会安装 Lamp 服务环境 (2)会部署 Php 动态网站应用 二 、进入重点知识的讲解
1 、搭建 Lamp 服务环境 1.1 理解服务 器应用四层架构 在学习 Linux 部署服务和应用的时候,头脑中一定要有一个清晰的 4 层架构概念,分别是硬件资源、操作系统、服务环境、应用程序,如图 2-1 所示,硬件资源就是 Cpu、内存、磁盘、网络等资源,操作系统就是 Linux,可以是 Linux 的各种版本。服务环境就是当你要部署一个应用程序的时候,要有相应的服务进行支持,比如部署 Php 应用程序,通常就需要有 Apache 网站服务、Mariadb 数据库服务、Php 脚本语言服务进行支持。最上层的就平时使用的应用程序了,比如各种 App 和网页应用的后端程序,比如淘宝、美团、微信、企业网站、游戏等等。
图 2-1 服务器应用四层架构
建 搭建 Lamp 架构 Lamp 服务是 Linux、Apache、Mysql(Mariadb)、Php 四个服务的简称,其中 Linux 是操作系统,Apache 提供静态网页服务,Mysql(Mariadb)提供数据库服务,Php 负责解释执行 Php脚本程序,在任务一中,已经使用 Vmware 虚拟化了硬件资源并安装了操作系统Linux(Centos7.8),完成了第一层和第二层工作,现在来安装 Apache、Mysql(Mariadb)、Php服务,即完成第三层服务环境的部署。
在大多数情况下,使用 Yum 安装方式安装服务,要想使用 Yum 安装 Apache、Mysql(Mariadb)、Php 这些服务,首先需要配置 Yum 的安装源,Yum 源可以在本地,也可以在网络上,在本地的 Centos-7.8-2003-x86_64-Dvd 镜像文件中包含这几个需要安装的服务,所以这里只需要配置本地 Yum 源。
(1)配置本地 Yum 源 1)挂载本地光驱到/mnt 目录 [root@localhost ~]# mount /dev/sr0 /mnt
/dev/sr0 代表光驱文件,是光驱上的 CentOS-7.8-2003-x86_64-DVD。
2)在/etc/yum.repos.d 目录配置 local.repo,yum 源路径指向/mnt 目录
[root@localhost ~]# rm -rf /etc/yum.repos.d/* [root@localhost ~]# vi /etc/yum.repos.d/local.repo (2)安装配置 Apache 服务 1)安装启动 Apache 服务 Apache 服务的名称是 httpd,使用 yum install httpd -y 就可以安装本地源中的 httpd 软件。
2)上传自己制作页面 Apache 的默然网站目录是/var/www/html 目录,如果想把自己制作的页面部署到服务器上,只需要把自己做的网站文件夹上传到这个目录即可,这里简单创建一个 index.html,演示效果。
(3)安装 Php 服务 部署 Php 动态网页需要数据库的支持,所以除了要安装 Php,还要安装 Php 与数据库的连接驱动和 Php 的图形库组件。
2 、部署动态 Web 应用 安装好 Lamp 服务环境之后,动态网站的部署就很容易了,以一个内容管理系统 cms为例,讲解如何部署 php 动态 web 应用。
2.1 上传 web 应用 1 、上传压缩包 在 windows 上,将内容管理系统 cms 压缩成 zip 格式,然后使用 rz 命令上传到/root 目录下。
[root@localhost ~]# yum install lrzsz -y
安装 lrzsz 服务,即可以使用 rz 上传 windows 文件到 linux 中。
[root@localhost ~]# rz
//rz 回车,弹出对话框,选择压缩文件 [root@localhost ~]# ls
//查看到上传的 dami.zip 文件 anaconda-ks.cfg
dami.zip 2 、将上传的 dami.zip 文件接压缩 [root@localhost ~]# unzip dami.zip 解压缩 dami.zip [root@localhost ~]# yum install unzip -y
//安装 unzip 服务 [root@localhost ~]# unzip dami.zip
//加压缩 dami.zip 文件 3 、复制 dami 目录下的所有文件到/var/www/html [root@localhost ~]# cd dami [root@localhost dami]# cp -r * /var/www/html
//复制 php 程序文件到 httpd 默认首页路径 2.2 安装 web 应用 在浏览中输入 http://服务器 IP 地址,即可进入内容管理系统安装页面,如图 2-5 所示。
图 2-5 部署 php 动态应用
三 、任务拓展训练 1)使用虚拟机的克隆功能克隆 4 台服务器,分别命名为 nginx、web1、web2、data。
2)修改 4 台服务器的 ip 地址,使它们之间可以正常 ping 通。
3)在 data 服务器上安装数据库服务,初始化密码为 1。
4)在 data 服务器上安装 NFS 服务,把/dami 文件夹设置共享。
5)在 web1 和 web2 上分别安装 Apache 和 php、php-mysql、php-gd 服务。
6)在 web1 和 web2 上挂载 data 上的/dami 文件夹到/var/www/html 目录。
7)在 web1 上 dami 内容管理系统。
8)在 nginx 服务器上安装 nginx 服务,配置负载均衡,把流量平均分配到 web1 和 web2服务器上。
任务三
Docker 容器部署 Web 应用 (4 学时)
一 、 创设 情境 ,引出知识点
(1)根据生活中的例子 随着业务的拓展,一台 Web 应用已经无法满足用户的访问需求,为了解决高并发、高负载、高可用问题,公司技术主管要求你使用容器技术快速部署 Web 应用集群。
(2)进入主题,展开详细讲解 安装 Docker 服务 镜像和容器基础运维 容器部署 Php 动态 Web 应用 (3)明确学习目标 知识目标:
(1)掌握 Docker 容器的应用场景。
(2)掌握安装 Docker 服务的方法。
(3)掌握镜像和容器运维的基础命令。
能力目标:
(1)会安装 Docker 服务。
(2)会运维镜像和容器。
(3)会使用镜像部署动态 Web 应用
二 、进入重点知识的讲解
1 、 安装 Docker 服务 1.1 认识 Docker 容器技术 1 ).Docker 容器应用架构 在 Linux 上,使用常规方法部署应用的过程,首先需要配置 Yum 源,然后安装各种服务,再部署应用,这个过程实在是太繁琐了。如果要构建一个大型应用集群,一台一台服务器去部署,工作量是无法想象的,而且无法保证环境和应用的一致性。解决这些问题的方法就是使用 Docker 容器技术。
如图 3-1 所示,在使用了 Docker 技术之后,原来的硬件资源、操作系统、服务环境、应用四层架构就变成了硬件资源、操作系统、Docker 服务、Docker 容器,只要在操作系统上安装了 Docker 服务之后,就可以把之前的第二层、第三层、第四层打包成一层,即 Docker容器层,这里需要注意的这里打包的操作系统不包括 Linux 的内核,每个容器共享真实的操作系统内核,即安装 Docker 服务后的第二层操作系统的内核。
图 3-1 docker 容器应用系统架构
就可以把之前的系统、服务环境、应用程序的组合打包成一个镜像文件,如果把这个镜像文件运行起来,就是 Docker 服务架构中的 Docker 容器了。
2 ).Docker 容器应用的三要素
如图 3.2 所示,在安装 Docker 服务之后,会安装 Docker 的 Client(客户端)和 Docker的服务(Docker_host)端,它们可以安装在同一主机或多个主机上。客户端通过发送命令给服务器端的守护进行 Docker daemon,由服务器端来执行相应命令。
Docker 服务端的最主要工作就是运行一个容器应用,这就需要镜像、镜像仓库的支撑。逻辑关系是这样的,应用在容器中,容器由镜像生成,而镜像则在镜像仓库中。所以要跑一个容器应用,就需要把 Docker 镜像文件从仓库下载到本地,然后将镜像运行起来,生成容器,容器中的应用就可以被用户使用了,可以把镜像理解成模板,容器则是这个模板运行时的状态。
所以 Docker 容器技术的三个最主要的要素是 1 镜像 2 容器 3 仓库,图 1.3-2 显示了由Docker client 发送指令给服务端的 Docker daemon,由 Docker daemon 从仓库中下载 NGINX镜像并在本地运行 NGINX 镜像,生成 NGINX 容器的过程。
3 ).Docker 容器底层技术 Linux 系统支持的虚拟化技术,叫做 Linux Container,简称 Lxc,Lxc 技术的三大特色:Cgroup,Namespace 和 Unionfs。
Cgroup 控制组技术 Linux 内核支持 Cgroup 技术,Cgroup 全称 Control Group,它可以限制和隔离 Linux进程所使用的物理资源 ,比如 Cpu、内存,磁盘、网络 Io,是 Linux Container 技术的物理基础。
每个 Docker 容器都是操作系统上的一个进程,进程需要通过内核访问物理资源(CPU、内存、磁盘、网络)等,Cgroup 可以控制每个进程访问的资源量,并且对进程使用的物理资源进行隔离。进程的资源限制和资源隔离技术是非常必要的。不能出现由于进...