京峰JF2117-DAY47课程笔记 Docker虚拟化企业实战_第1页
京峰JF2117-DAY47课程笔记 Docker虚拟化企业实战_第2页
京峰JF2117-DAY47课程笔记 Docker虚拟化企业实战_第3页
京峰JF2117-DAY47课程笔记 Docker虚拟化企业实战_第4页
京峰JF2117-DAY47课程笔记 Docker虚拟化企业实战_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

京峰JF2117-Day47上课笔记 Docker虚拟化企业案例实战1、 Docker虚拟化概念&部署实战1) 虚拟化技术的概念?n 虚拟化技术主要是将物理资源转变为逻辑上可以管理的资源,以打破物理资源结构之间的壁垒,让计算的元件运行在虚拟的基础上,而不是直接运行在物理资源上。n 虚拟化技术的底层是要进行虚拟的硬件设备(物理机),通过虚拟化技术软件可以将物理机资源虚拟生成N台虚拟机,应用程序、软件服务(Nginx、Tomcat、JDK、LVS、Keepalived、Redis、MYSQL、Mariadb)运行在虚拟机上的,而不是直接运行在物理机设备上。2) 虚拟化技术的意义?n 可以最大化的利用高配硬件设备的资源,提高物理资源的利用率;基于虚拟化技术启动的多个虚拟机,虚拟机跟虚拟机之间的资源(CPU、MEM、DISK、NET)相互隔离的,互不影响。n 可以淘汰老、旧服务器资源,对老、旧服务器资源进行重组、重用;例如采购100台高配机器,每个机器虚拟10台虚拟机,组成1000台服务器;n 可以实现对企业服务器资源进行统一管理、调取,加快企业自动化运维&Devops脚步进程;利用虚拟化技术轻量级、高性能特点,更加方便管理服务器,分配服务器资源;3) 虚拟化技术的种类?n VMware ESXI;n XEN;n KVM;n Open-vz;n Hyper-v;n Docker。4) Docker虚拟化技术的概念?n Docker是众多虚拟化技术中的一种,是目前互联网IT企业使用最多的虚拟化技术软件,其特点:轻量级、高性能、安全、稳定、免费的等。n Docker虚拟化主要是为了解决企业轻量级服务器操作系统和应用容器而诞生的,其产物是Docker容器,Docker容器被称为轻量级的虚拟机,轻量级的虚拟机比传统的虚拟机文件、数据、代码量少。5) Docker官方要求部署Docker平台的底层Linux系统对应的Linux内核版本至少在3.8+,实际的企业生产环境中,推荐Linux内核版本:3.10+,对应企业Linux操作系统发行版本:n RHEL7.x;n CentOS7.x;n Ubuntu16.x;6) 基于CentOS6.x Linux操作系统,通过YUM二进制方式从0开始构建Docker平台部署,操作步骤如下:#升级Linux内核版本;yum update -y#安装第三方扩展源epel-release;yum install -y epel-releasels -l /etc/yum.repos.d/|grep -w epel#Yum直接安装docker软件包;yum install -y docker-io lxc libcgroup* device-mapp*#检测Docker软件包是否部署成功;yum list dockerrpm -qa|grep docker#启动Docker引擎服务;service docker start#查看Docker引擎进程;ps -ef|grep docker#查看Docker版本信息;docker version7) 基于CentOS7.x Linux操作系统,通过YUM二进制方式从0开始构建Docker平台部署,操作步骤如下:#安装第三方扩展源epel-release;yum install -y epel-releasels -l /etc/yum.repos.d/|grep -w epel#Yum直接安装docker软件包;yum install -y docker*#yum install -y docker-ce*#检测Docker软件包是否部署成功;yum list dockerrpm -qa|grep docker#启动Docker引擎服务;systemctl start docker.serviceservice docker start#查看Docker引擎进程;ps -ef|grep docker#查看Docker版本信息;docker version8) 根据如上Docker平台部署操作,Docker平台能够正常运行,如图所示:2、 Docker虚拟化企业Nginx WEB案例实战1) 根据如上Docker平台部署,Docker平台可以正常运行,作为运维人员如何才能利用好Docker虚拟化平台呢,能够使用Docker虚拟化技术给企业带来哪些好处呢?Docker在企业中主要应用方式有两种:n 启动应用容器(软件服务);n 启动Guest OS(操作系统-软件服务);2) 学习Docker企业应用之前,必须掌握Docker三个核心概念:n 镜像镜像中包含了各种应用程序、软件服务、数据等内容的模板文件,是静止、只读的,不能被修改,类似Linux系统ISO镜像文件,是用于启动Docker容器(轻量级的虚拟机)。n 容器基于镜像运行之后的实例,没有镜像就没有容器,容器是可读、可写的,容器启动之后一直需要底层镜像的,镜像文件不能删除的。容器所需的数据、文件可以从镜像模板中读取和调用,镜像是容器系统的底层基石。n 仓库仓库是用于存储Docker镜像(静态模板文件)的地方,仓库一般分为公共仓库、私有仓库,企业测试环境、生产环境推荐自建私有仓库,不推荐使用公共仓库(外网仓库)。3) 基于Docker虚拟化平台,启动一台Nginx WEB应用容器(轻量级的虚拟机),Nginx应用容器中只包含Nginx软件服务,要求直接启动Nginx WEB服务,并且监听80端口,用户通过浏览器能够访问Nginx默认网站代码,操作的方法和步骤如下:#在Docker官方仓库搜索nginx镜像;docker search nginx#从Docker官方仓库下载nginx镜像;docker pull docker.io/nginx#查看已下载Nginx镜像文件的位置和列表;ll /var/lib/docker/image/docker imagesdocker images|grep -i nginx#如果Nginx镜像是通过windows上传nginx.tar(Pull下载超时),导入nginx镜像,命令:docker load 1 print $1);do docker inspect $i|grep -i ipaddr|tail -1|awk -F print $4 ;donefor i in $(docker ps|awk NR1 print $1);do echo $i; docker inspect $i|grep -i ipaddr|tail -1|awk -F print $4 ;done|sed N;s/n/ /gecho 容器ID,容器IP;for i in $(docker ps|awk NR1 print $1);do echo $i; docker inspect $i|grep -i ipaddr|tail -1|awk -F print $4 ;done|sed N;s/n/ /g|sed s/ /,/g docker_list.csvn Run,全新创建一台容器;n -i,interactive交互模式;n -t,tty打开登陆终端;n -d,detach后台运行、启动;n -p,publish发布端口,将宿主机80(第一个)DNAT映射至容器的80;#查看Nginx容器的状态和IP地址;docker psdocker inspect ddec2321112a|grep -i ipaddr|tail -1docker inspect ddec2321112a|grep -i ipaddr|tail -1|awk -F print $4docker inspect ddec2321112a|grep -i ipaddr|tail -1|sed s/g;s/,/g;s/:/g;s/IPAddress/g;s/ /gdocker inspect ddec2321112a|grep -i ipaddr|tail -1|grep -oE (0-91,3.)30-91,3docker inspect ddec2321112a|grep -i ipaddr|tail -1|grep -oE 0-91,3.0-91,3.0-91,3.0-91,3#如果想删除所有已创建的Docker容器,指令如下;for i in $(docker ps|awk print $1);do docker rm -f $i ;done#通过浏览器访问宿主机IP+80,如图所示:4) 基于Nginx容器发布百度首页,门户网站代码,将百度首页index.html替换至容器的Nginx默认页面,操作步骤如下:#进入Nginx容器(轻量级的虚拟机)中;docker exec -it 43c09ac0c27e /bin/bash#查找Nginx服务的主配置文件,找到发布目录;find / -name nginx.conf/etc/nginx/conf.d/default.conf/usr/share/nginx/html/#进入宿主机,将宿主机上百度门户网站index.html拷贝到Nginx容器中对应网站发布目录:/usr/share/nginx/html/;docker cp index.html 43c09ac0c27e:/usr/share/nginx/html/#通过浏览器刷新访问Nginx容器的网站页面,如图所示:3、 Docker虚拟化企业Tomcat WEB案例实战1) 基于Docker平台启动2台Tomcat WEB容器,要求启动Tomcat容器中Tomcat服务,默认监听8080端口,同时通过浏览器能够实现Tomcat页面的访问,操作步骤和方法如下:#在Docker官方仓库搜索Tomcat镜像;docker search tomcat8#从Docker官方仓库下载Tomcat镜像;docker pull ashince/tomcat8#查看已下载Tomcat镜像文件的位置和列表;ll /var/lib/docker/image/docker imagesdocker images|grep -i tomcat#如果Tomcat镜像是通过windows上传tomcat.tar(Pull下载超时),导入Tomcat镜像,命令:docker load centos7-ssh.tar#将centos7-ssh.tar导入到Docker镜像列表;docker load centos7-ssh-v1.tar#将centos7-ssh-v1.tar导入Docker镜像列表;cat centos7-ssh-v1.tar|docker import - centos7-ssh-v1#基于导入的centos7-ssh-v1创建新的虚拟机;docker run -itd -privileged -p 6024:22 -p 83:80 centos7-ssh-v1 #让启动的CentOS虚拟机,能够在前台一直运行(永不退出);docker run -itd -privileged -p 6024:22 -p 83:80 centos7-ssh-v1 /bin/bashdocker run -itd -privileged -p 6025:22 -p 84:80 centos7-ssh-v1 sleep 9999d4、Dockerfile企业案例演练由于Docker官网公共仓库镜像大多不完整,无法真正满足企业的生产环境系统,此时需要我们自行定制镜像或者重新打包镜像。Docker镜像制作是管理员的必备工作之一,Docker镜像制作的方法主要有两种,制作方法如下:n Docker commit|export将新容器提交至Images列表; n 编写Dockerfile,bulid新的镜像至镜像列表;5、Dockerfile语法命令详解一企业生产环境推荐使用Dockerfile制作镜像,Dockerfile制作原理:将基于一个基础镜像,通过编写Dockerfile方式,将各个功能进行叠加,最终形成新的Docker镜像,是目前互联网企业中打包镜像最为推荐的方式。Dockerfile是一个镜像的表示,也是一个镜像的原材料,可以通过Dockerfile来描述构建镜像,并自动构建一个容器。如下为DockerFile制作镜像,必备的指令和参数的详解:FROM 指定所创建镜像的基础镜像;MAINTAINER指定维护者信息;RUN运行命令;CMD指定启动容器时默认执行的命令;LABEL指定生成镜像的元数据标签信息;EXPOSE声明镜像内服务所监听的端口;ENV指定环境变量;ADD赋值指定的路径下的内容到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论