《Docker容器管理与应用项目教程教案 项目1配置管理磁盘教学设计.docx》由会员分享,可在线阅读,更多相关《Docker容器管理与应用项目教程教案 项目1配置管理磁盘教学设计.docx(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Docker今器管理与应用项9教程教学设讨课程名称:Docker J器技术授课年级:2020年级授课学期:2020学年第一。期 教师发名:2020年12月01日硬件资源硬件资源图3-1 docker容器应用系统架构就可以把之前的系统、服务环境、应用程序的组合打包成一个镜像文件,如果把这个 镜像文件运行起来,就是Docker服务架构中的Docker容器了。2) .Docker容器应用的三要素如图3.2所示,在安装Docker服务之后,会安装Docker的Client(客户端)和Docker 的服务(Dockejhost)端,它们可以安装在同一主机或多个主机上。客户端通过发送命令 给服务器端的守护
2、进行Docker daemon,由服务器端来执行相应命令。Docker服务端的最主要工作就是运行一个容器应用,这就需要镜像、镜像仓库的支 撑。逻辑关系是这样的,应用在容器中,容器由镜像生成,而镜像则在镜像仓库中。所以要 跑一个容器应用,就需耍把Docker镜像文件从仓库下载到本地,然后将镜像运行起来,生 成容器,容器中的应用就可以被用户使用了,可以把镜像理解成模板,容器则是这个模板运 行时的状态。所以Docker容器技术的三个最主要的要素是1镜像2容器3仓库,图L3-2显示了由 Docker client发送指令给服务端的Docker daemon,由Docker daemon从仓库中卜载NG
3、INX 镜像并在本地运行NGINX镜像,生成NGINX容器的过程。3) .Docker容器底层技术Linux系统支持的虚拟化技术,叫做Linux Container,简称Lxc, Lxc技术的三大特色: Cgroup, Namespace 和 UnionfsoCgroup控制组技术Linux内核支持Cgroup技术,Cgroup全称Control Group,它可以限制和隔离Linux 进程所使用的物理资源,比如Cpu、内存,磁盘、网络Io,是Linux Container技术的物 理基础。每个Docker容器都是操作系统上的一个进程,进程需要通过内核访问物理资源(CPU、 内存、磁盘、网络)
4、等,Cgroup可以控制每个进程访问的资源量,并且对进程使用的物理 资源进行隔离。进程的资源限制和资源隔离技术是非常必要的。不能出现由于进程出现问题耗尽CPU资源,或由于内存泄漏消耗掉大部分系统资源的情况。NameSpace命名空间技术NameSpace是另一种资源隔离技术,CGroup设计出来的目的是为了隔离进行使用的 物理资源,NameSpace用来隔离PID(进程ID)、存储、网络等系统资源。每个NameSpace 里面的进程、网络、存储等资源对其它NameSpace都是透明的。假设多个用户购买了一台Linux服务器的APACHE服务,每个用户在该服务器上被分 配了一个Linux系统的账
5、号,有些情况下,该用户仍然需要系统root级别的权限,但不可 能给每个用户都分配root权限。因此可以使用NameSpace技术,给每个系统账号虚拟化一 个NameSpace,在这个NameSpace里面,该用户具备root权限,但是在宿主机上,该用户 还是一个普通用户。UnionFS文件系统联结技术Unionfs是Docker镜像的技术支撑,它可以把文件系统上多个目录内容联合挂载到 同一个目录下,而目录的物理位置是分开的,要理解Unionfs,首先要认识Bootfs和Rootfs。l)Boot File System (Bootfs)Bootfs包含操作系统Boot Loader、Kerne
6、l内核。用户不能修改这个文件系统,系统 启动完成后,整个Linux内核加载进内存,所有的Docker容器都会使用这个系统内核进行 资源访问控制。2)Root File System (Rootfs)Rootfs 目录结构包括 /Dev, /Proc, /Bin, /Etc, /Lib, /Usr, And /Tmp 等,再加上要运行用 户应用所需要的配置文件,二进制文件和库文件,用户可以对这个文件进行修改,每个容 器都包含一个Rootfs,它们共同使用Bootfs,实现了操作系统级别的虚拟化。需要注意的是,Rootfs只是一个操作系统所包含的文件、配置和目录,并不包括操作 系统内核,如果你的应
7、用程序需要配置内核参数、加载额外的内核模块,以及跟内核进行 直接的交互,这些操作和依赖的对象,都是宿主机操作系统的内核,它对于该机器上的所 有容器来说是一个“全局变量”,内核修改会影响到所有容器。3)镜像分层和UnionfsDocker镜像是由多步操作叠加而成的,每一步操作都会形成一个新层,也就在Rootfs 上的一个增量,Unionfs把所的层联合在一起组成一个统一的文件系统,镜像分层技术的好 处是当两个镜像都包括相同的底层镜像时,可以实现底层镜像的重用,这样可以大量的节 省存储空间和重复操作。2安装Docker服务Docker服务的安装很简单,只需要配置好CentOS7的网络源和Docke
8、r-ce的网络 源,就可以进行安装了。1 .配置Docker网络Yum源配置本地源之后,安装Wget软件。rootlocalhost # yum install wget -y使用aliyun镜像站下载centos7的镜像源配置rootlocalhost yum.repos.d# wget 使用aliyun镜像站下载docker-ce的镜像源配置rootlocalhostyum.repos.d#wget注意,这里需要进入到目录,然后在wget相应的源配置文件。安装docker-ce服务docker-ce服务是docker服务的社区版,可以免费使用。/安装 dockerrootlocalhost
9、 # yum install docker-ce -y 已安装:docker-ce.x86_64 启动docker,设置开机自启动rootlocalhost # systemctl start docker rootlocalhost # systemctl enable docker rootlocalhost # docker-version dockerversion 19.03.13, build 4484c46d9d rootlocalhost # dockerinfo启动docker服务设置开机自启动查看docker服务的版本查看docker的信息通过Dockerinfo可以看到D
10、ocker客户端和服务器镜像和镜像、容器、存储驱动和资 源等信息,需要注意的是这一行信息,它是Docker默认 下载镜像的官方地址,下载速度往往比较慢,所以应该配置镜像加速,加快Docker镜像的 下载。配置镜像加速首先需要注册一个阿里云账户,然后在首页搜索容器镜像服务,进入容器镜像服务页 面,点击左下角的镜像加速器3、运维镜像3.1查找镜像.使用Docker hub官网查找使用官网,输入想查询的镜像名称,回车,就可以查询到该镜像。1 .使用命令查找镜像在Linux命令行,通过Docker search镜像名称 就可以查询镜像,比如想查询Nginx镜 像,可以使用以下命令.2拉取下载镜像使用D
11、ockerpull镜像名称:版本号 来下载一个镜像,比如想下载Nginx的1.18版本,可以使用 Docker pull nginx: 1.18rootlocalhost # Docker pull nginx: 1.181.18: Pulling from library/nginx852e50cdl89d: Pull completea9d81f536096: Pull completef0ed0b709232: Pull complete5b8f22c6d2f4: Pull complete32bfd22d29be: Pull completeDigest: sha256:f35b49b
12、 1 d 18e083235015fd4bbeeabf6a49d9dc 1 d3a 1 f84b7df3794798b70c 13Status: Downloaded newer image for nginx:1.18docker.io/library/nginx: 1.18需要注意,镜像名称是由镜像名和版本号共同组成的,另外再拉取镜像时,可以看到该 镜像是由852e50cdl89d等5层组成的,一层一层的进行下载。3.3查看镜像使用Dockerimages命令来查看当前主机的所有镜像。rootlocalhost # docker imagesREPOSITORY TAG IMAGE ID
13、CREATEDSIZE2562b6bef9765 days ago镜像所在库名称镜像标识镜像ID创建时间镜像大小133MBnginx1.18REPOSITORY TAGIMAGE ID CREATEDSIZENginx是仓库的名称,Nginx加上版本号1.18即Nginx: 1.18才是镜像的名称,如果只使 用Nginx代表Nginx:Latest这个镜像,初学者这处内容容易混淆。3.4 导出镜像可以使用命令将镜像保存成一个文件,当不小心删除了镜像之后,可以使用命令恢复镜 像,把镜像保存成一个文件有2种方法。(1) .使用 docker save rootlocalhost # docker
14、imagesREPOSITORY TAG IMAGE ID CREATED SIZEnginx1.182562b6bef9765 days ago133MBrootlocalhost # docker save nginx: 1.18 nginx.tarrootlocalhost # Isanaconda-ks.cfg dami dami.zip docker-ce.repo nginx.tar保存一个镜像成一个文件要使用方向前头,导出的名称可以随意命名。3.5 删除镜像删除文件使用命令docker rmi,比如删除掉nginx: 1.18这个镜像。rootlocalhost # docker
15、 rmi 256rootlocalhost # docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE删除镜像时同样可以使用镜像ID的前几位标识,当然也可以使用nginx:1.18,删除后 再查看,发现镜像已经被删除了。3.6 导入镜像从一个文件导入镜像同样有2种方法。1 .dockerload 文件.dockerload 2 文件rootlocalhost # docker load docker2 data。2)修改4台服务器的ip地址,使它们之间可以正常ping通。3)在 docker 1 和 docker2 服务器上下载 mattrayner
16、/lamp 镜像。4)在data服务器上安装NFS服务,把/dami程序文件夹设置共享。5)在docker 1和docker2上挂载data上的/dami目录至lj/dami目录。6)在docker 1和docker2上运行mattrayner/lamp容器部署/dami目录中的动态web应用。7)在nginx服务器上安装nginx服务,配置负载均衡,把流量平均分配到docker 1和docker2服务器上。项目小结.鼠标指针进入虚拟机之后,想退出到Windows使用Ctrl+Alt键。1 .使用Xshell登录虚拟机之前一定要在网络连接中开启VMnet8网络,因为虚 拟机默认网络使用的是Na
17、t方式。2 .在复制dami文件的时候,要复制目录里边的所有内容而不是目录本身。3 .修改写权限时,一定要先设置selinux失效,否则影响修改效果。4 .重点理解镜像、容器、仓库之间的关系。5 . Docker run命令常用参数需要重点理解,学会使用。【教学导航】项目名称部署动态web应用建议学时10学时教学内容(1)安装虚拟服务器(2)熟练VMware常用操作(3)使用Xshell登录服务器(4)安装Lamp服务运行环境(5)部署Php动态企业网站(6)安装Docker服务(7)镜像和容器基础运维(8)容器部署Php动态Web应用学习目标(1)了解Linux发展历史(2)掌握使用Xshe
18、ll登录虚拟机的步骤(3)掌握系统、服务、应用的区别(4)掌握安装Lamp服务环境的方法(5)掌握Php动态网站的部署方法(6)掌握Docker容器的应用场景。(7)掌握安装Docker服务的方法。(8)掌握镜像和容器运维的基础命令。教学方式本章内容以理论讲解、实际演示为主。重点知识1、安装登录CentOS7.8服务器2、常规方法部署Web应用3、Docker容器部署Web应用关键词磁盘配额、Ivm逻辑卷、raid 10【教学过程】任务1安装登录CentOS7.8服务器(2学时)、创设情境,引出知识点(1)根据生活中的例子你刚入职一家网络运维公司,公司的主营业务是帮助客户搭建Web应用服务,技
19、术 主管要求你使用VMwarel5安装一台虚拟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虚拟机认识 Linux1) Linux
20、概况Linux是一套自由加开放源代码的类操作系统,诞生于1991年10月5日(第一次正 式向外公布),由芬兰学生Linus Torvalds和后来陆续加入的众多爱好者共同开发完成。 Linux是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。Linux能运行主耍的Unix工具软件、应用程序和网络协议,可支持32位和64位硬件。 Linux继承了 Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 Linux存在着许多不同的版本,但它们都使用了 Linux内核,可安装在各种计算机设备中, 比如:手机、平板电脑、路由器、视频游戏控制台、台式计算机、大
21、型机和超级计算机。 严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容 整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。2) .Linux内核版本使用命令字uname-r查看Linux内核版本号,如图1-2所示。File Edit View Search Terminal Help root(aroot Desktop# uname -r 2.6.32-696.el6.x86_64 rootroot Desktop!# |图1-2Linux内核版本下面来解释一下该内核版本号各项的含义。2:当前内核主版本号。6:当前内核次版本号。3
22、2-696: 32表示为当前内核更新次数,696表示当前内核修补次数。el6:当前内核为RHEL6系列的。x86_64:代表这是64bit的系统。3.) Linux发行版本Linux 有很多的发行版本,好比 Windows 有 Windows XP、Windows 7 Windows 10o 虽然这个类比不是很恰当,但是对于初学者来说可以暂时这样理解。12安装虚拟机.使用VMwarel5新建虚拟机1)首先在计算机的E盘(非还原磁盘)建立名称为Linux的文件夹,然后打开VMware 15 软件,在主页选项卡下单击创建新的虚拟机按钮,选择典型(推荐)选项,单击“下一步” 按钮,安装来源选择“稍后
23、安装操作系统”单选按钮.虚拟机安装操作系统如图1-9所示,选择“我的计算机”下的“CentOS7”选项,单击“开启此虚拟机” 选项。库XQ 在此处键入内容进行搜索n 主页 r centos 席 docker。我的计算机 centos docker k8scentos7共享的虚拟机口 centos7开启此虚拟机编辑重拟机设置 备国内存办处理器G 硬盅(scsi)(5)CD/DVD (IDE)1 GBG r 2020-11-03 14:02请具体描述文件(F)编辑(E) (V)虚拟机(M)选项卡(T)帮助(H)1-9开启安装虚拟机2、使用Xshell登录虚拟机在生产环境也就是实际工作中,不可能每次
24、都要到机房去操作服务器,而是通过远程 登录工具登录到服务器上,去配置管理服务器。下面就来介绍如何使用Xshell远程登录工 具登录到刚才安装的CentOS7服务器。1.1 查看服务器IP地址首先开启虚拟机将CentOS7服务器开机,在登录界面输入localhost login:处输入用户 名root,密码是安装系统时候设置的1,进入系统后,输入命令ipaddr查看网络配置,如图 1.1-18所示,看到虚拟机网卡ens33的IP地址是192.168.也12是 使用这个地址可以远程登 录这台服务器。三、任务拓展训练1)在自己的笔记本电脑中动手安装一台虚拟机,操作系统为CentOS7.8。2)使用X
25、shell登录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服务环境
26、1J1J理解服务器应用层架构在学习Linux部署服务和应用的时候,头脑中一定要有一个清晰的4层架构概念,分 别是硬件资源、操作系统、服务环境、应用程序,如图2-1所示,硬件资源就是Cpu、内存、 磁盘、网络等资源,操作系统就是Linux,可以是Linux的各种版本。服务环境就是当你要部 署一个应用程序的时候,要有相应的服务进行支持,比如部署Php应用程序,通常就需要 有Apache网站服务、Mariadb数据库服务、Php脚本语言服务进行支持。最上层的就平时使 用的应用程序了,比如各种App和网页应用的后端程序,比如淘宝、美团、微信、企业网 站、游戏等等。图2/服务器应用四层架构搭建Lamp架
27、构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的
28、安装源,Yum源可以在本地,也可以在网络上,在本地 的Centos-7. 8-2003-x86_64-Dvd镜像文件中包含这几个需要安装的服务,所以这里只需要 配置本地Yum源。(1)配置本地Yum源1)挂载本地光驱到/mnt目录|rootlocalhost # mount /dev/srO /mnt/dev/srO代表光驱文件,是光驱上的CentOS-7.8-2003-x86_64-DVD。2)在目录配置local.repo,yum源路径指向/mnt目录rootlocalhost # rm -rf /etc/yum.repos.d/*rootlocalhost (2)安装配置Apache服务
29、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 为
30、例,讲解如何部署php动态web应用。2.1 上传web应用1、上传压缩包在windows上,将内容管理系统cms压缩成zip格式,然后使用rz命令上传到/root目录 下。rootlocalhost |# yum install Irzsz -y安装Irzsz服务,即可以使用rz上传windows文件至U linux中。rootlocalhost# rz/rz Pl车,弹出对话框,选择压缩文件rootlocalhost -# Is查看到上传的 dami.zip 文件anaconda-ks.cfg dami.zip2、将上传的dami.zip文件接压缩rootlocalhost # unzip
31、 dami.zip解压缩dami.ziprootlocalhost # yum install unzip -y安装 unzip 月艮务rootlocalhost # unzip dami.zip加压缩 dami.zip 文件3、复制J dami目录下的所有文件到/var/www/htmlrootlocalhost # cd damirootlocalhost dami# cp -r * /var/www/html 复制 php 程序文件到 httpd 默认首页路径安装web应用在浏览中输入http:/服务器IP地址,即可进入内容管理系统安装页面,如图2-5所示。兴 阅读许可协议官方网站技术论
32、坛DAMICMSV6.1版权所有(02014-2024, 保留所有权利.感激每龌大米手机与PC内容售理系统(以下简称DAMICMS) , DAMICMS是国内最强大、最稼定的中小型门户网站建 设与手机3G站解决方案之一,基于PHP + MySQLfi地术开发,全部源码开放。DAMICMS 的官方网址是: 交流论坛:http:为了使你正确并管法的使用本软件,请你在使用前务必阅读清楚下面的协议条款:解募权.一、本授权协议适用且仅适用于版本,。八141C乂5官方对本授权协议弥二、协议许可的权利1、您可以在完全遵守本最终用户授权协议的基础上,将本软件应用于非商业用途,而不必支付软件版权授权费用.2、怒
33、可以在协议规邺约束和限制范围内修改DAMICMS源代码或界面风格以适应您的网站要求。3、念拥有使用本软件构建的网站全部内容所有权,并独立承担与这些内容的相关法律义务.4、获得商业授权之后,您可以将本软件应用于商业用途,同时依据所购买的授权类型中确定的技术支持内容,目购买时 刻起,在技术支挎期限内拥有通过指定的方痂得指定范围内的技术支持服务.商业授权用户享有反映和提出意见的权力,相 关意见将被作为首要考虑,但没有一S的承诺或保证。2我已经阅读并同意此的议图2-5部署php动态应用三、任务拓展训练1)使用虚拟机的克隆功能克隆4台服务器,分别命名为nginx、webl web2、data。2)修改4
34、台服务器的ip地址,使它们之间可以正常ping通。3)在data服务器上安装数据库服务,初始化密码为1。4)在data服务器上安装NFS服务,把/dami文件夹设置共享。5)在 webl 和 web2 上分别安装 Apache 和 php、php-mysql、php-gd 服务。6)在webl和web2上挂载data上的/dami文件夹至lj/var/www/html目录。7)在webl上dami内容管理系统。8)在nginx服务器上安装nginx服务,配置负载均衡,把流量平均分配到webl和web2 服务器上。任务三Docker容器部署Web应用(4学时)一、创设情境,引出知识点(1)根据生
35、活中的例子随着业务的拓展,一台Web应用已经无法满足用户的访问需求,为了解决高并发、 高负载、高可用问题,公司技术主管要求你使用容器技术快速部署Web应用集群。(2)进入主题,展开详细讲解安装Docker服务镜像和容器基础运维容器部署Php动态Web应用(3)明确学习目标知识目标:(1)掌握Docker容器的应用场景。(2)掌握安装Docker服务的方法。(3)掌握镜像和容器运维的基础命令。能力目标:(1)会安装Docker服务。(2)会运维镜像和容器。(3)会使用镜像部署动态Web应用二、进入重点知识的讲解1、安装Docker服务 1.1认识Docker容器技术1) .Docker容器应用架
36、构在Linux上,使用常规方法部署应用的过程,首先需要配置Yum源,然后安装各种 服务,再部署应用,这个过程实在是太繁琐了。如果要构建一个大型应用集群,一台一台 服务器去部署,工作量是无法想象的,而且无法保证环境和应用的一致性。解决这些问题的 方法就是使用Docker容器技术。如图3-1所示,在使用了 Docker技术之后,原来的硬件资源、操作系统、服务环境、 应用四层架构就变成了硬件资源、操作系统、Docker服务、Docker容器,只要在操作系统 上安装了 Docker服务之后,就可以把之前的第二层、第三层、第四层打包成一层,即Docker 容器层,这里需要注意的这里打包的操作系统不包括Linux的内核,每个容器共享真实的 操作系统内核,即安装Docker服务后的第二层操作系统的内核。