课程编号 | 编制人 | 制定日期 | 修订日期 | 审定组(人) | 审定日期 |
20 . | |||||
《Docker容器技术》课程教学大纲
一、课程基本信息
开课单位:
课程名称:《Docker容器技术》
课程编号:
课程类型:专业课
学 分: 4
学 时: 54
开设专业: 专业
前导课程:
二、课程任务和目标
(一)课程任务
容器是继大数据和云计算之后的又一热门技术,越来越多的应用以容器的方式在开发、测试和生产环境中运行。作为目前较为流行的容器平台,Docker是开发、发布和运行应用的开放平台。使用Docker可以大大减少开发中的代码编写与运行之间的时间延迟,提高软件开发的效率和质量,实现产品的快速交付和快速迭代。软件开发人员、IT实施和运维人员都需要掌握这一新兴技术。
本课程是计算机软件专业的专业拓展课程。通过本课程的学习,学生掌握利用Docker发布、测试和部署应用程序的技术,学会Docker容器编排、应用程序容器化、自动化构建与持续集成,以及Docker集配置的具体方法,能够胜任容器化应用的构建和维护工作,即在应用程序开发、测试、部署和运维工作中的Docker实施工作。
整个课程按照从基础到应用,从基本功能到高级功能的逻辑循序渐进进行讲授,要求学生
通过动手实践来掌握Docker使用操作技能。
(二)课程目标
理论上,要求学生掌握Docker的基础知识,理解容器、镜像、仓库、注册中心等概念,理解Docker网络和存储,以及Docker集的运行机制。技能上,要求学生能熟练掌握容器和镜像的使用和操作、容器的网络和存储配置,以及容器编排方法,熟悉应用程序容器化流程,初步掌握项目的持续集成和持续部署方法,能够配置Docker集并部署分布式应用。
1、能力目标
(1)培养学生基于容器化应用测试、部署和运维的工程能力
(2)培养学生项目持续集成和持续部署的规划和实施的能力
(3)培养学生发现问题、分析问题和解决问题的能力
(4)培养良好的文化修养、职业道德、服务意识和敬业精神
(5)培养团队合作和协调沟通能力
2、知识目标
(1)了解Docker的概念、架构和特性
(2)掌握Docker的安装部署
(3)熟悉镜像、容器和注册中心的使用和操作
(4)学会使用Dockerfile构建镜像
(5)掌握Docker的网络与存储配置
(6)掌握Docker容器与Docker守护进程的运维
(7)掌握Docker容器编排
(8)掌握应用程序容器化的方法
(9)掌握镜像的自动化构建方法
(10)初步掌握项目的持续集成和持续部署
(11)掌握Docker Swarm集的建立和维护方法
(12)掌握应用程序在集中的部署和管理
三、教学条件
技术网络机房,在较高配置的单台Windows计算机上使用VMware Workstation组建实验环境,确保能够访问互联网。最后一个单元本课程对实验环境要求更高,需要搭建3个主机节点的集网络。
建议在虚拟机上进行实验操作,可以充分利用虚拟机的快照功能来备份和恢复实验环境,利用其克隆功能来快速安装系统。
四、教学内容及学时安排
序号 | 单元 | 教学内容 | 教学目标 | 学时 | |
训练项目 | 必备知识 | ||||
1 | Docker安装 | 1.了解Docker用例 2.调查国内的Docker应用现状 3.安装Docker CE 4.了解docker命令的基本用法 5.使用命令运行容器 | 1.Docker的概念 2.容器与虚拟机的区别 3.Docker引擎 4.Docker架构 5.Docker底层技术 6.Docker版本 7.Docker命令行接口 | 明确Docker的概念,弄清容器与虚拟机的区别,理解Docker的架构,了解Docker的优势和应用领域,学会Docker的安装,并初步掌握docker命令的用法 | 4 |
2 | Docker快速入门 | 1.掌握镜像的操作方法 2.掌握容器的基本操作 3.熟悉Docker Hub的使用 4.了解第三方Docker注册中心的使用 5.建立和使用自己的Docker注册中心 6.基于容器构建镜像 7.基于Dockerfile构建镜像 | 1.镜像的概念 2.镜像的分层结构 3.容器的概念 4.容器内部的存储 5.Docker注册中心6.Docker镜像仓库7.Dockerfile语法 | 掌握Docker镜像和容器的基础知识,学会镜像和容器的操作方法;学会镜像仓库管理;学会使用Dockerfile构建镜像 | 6 |
3 | Docker网络与存储配置 | 1.掌握桥接网络的使用方法 2.掌握容器端口映射的配置方法 3.熟悉卷的创建和管理操作 4.掌握容器挂载卷的操作方法 5.熟悉容器绑定挂载的操作 | 1.Docker网络驱动 2.容器的网络模式 3.容器之间的网络通信4.容器与外部的网络通信 5.容器本地存储与外部存储 6.容器的挂载类型 | docker打包镜像掌握Docker网络和存储的配置方法,能够通过网络配置让容器与其他容器和外部网络进行通信,通过挂载外部存储实现容器数据的持久存储 | 6 |
4 | Docker容器与守护 进程运维 | 1.在一个容器中运行多个服务 2.配置容器重启策略 3.熟悉容器的内存、CPU和I/O资源限制操作 4.使用cAdvisor监控容器 5.使用Weave Scope监控容器 6.熟悉容器日志工具使用方法 7.管理Docker对象 8.排查Docker守护进程故障 | 1.容器的自动重启配置 2.Docker的实时恢复功能 3.容器健康检查机制 4.容器运行时选项覆盖Dockerfile指令 5.容器资源限制的实现机制 6.Docker监控工具 7.Docker日志工具 8.Docker对象的标记 9.Docker守护进程的启动方式、 10.Docker守护进程的配置方式 | 重点掌握Docker容器与守护进程的运维管理,涉及容器的持续运行、容器运行资源控制、容器监控与日志管理,以及Docker守护进程本身的管理和Docker对象的通用配置 | 6 |
5 | Docker容器编排 | 1.掌握Docker Compose的安装 2.熟悉使用Docker Compose的基本步骤 3.掌握Compose文件的编写 4.掌握Docker Compose构建、部署和管理应用程序的全套流程 5.从源代码开始构建、部署和管理应用程序 6.组合使用多个Compose文件 | 1.Docker Compose的项目、服务和容器 2.Docker Compose的工作机制 3.Docker Compose的特点 4.Docker Compose的应用场景 5.Compose文件的结构和格式 6.服务、网络和卷定义的Compose基本语法 7.Docker Compose的命令格式 8.Docker Compose的常用命令 9.Docker Compose的环境变量 | 掌握Docker Compose的安装和使用方法,能够在单主机上部署多个容器的应用程序 | 6 |
6 | 应用程序容器化 | 1.使用scratch创建简单的镜像 2.掌握多阶段构建镜像的方法 3.熟悉应用程序容器化的完整过程 4.学会使用Docker Maven插件打包Java程序 4.掌握基于Tomcat的应用程序的容器化方法。 5.掌握Spring Boot应用程序的Docker部署方法 6.熟悉PHP官方镜像的使用 7.使用Docker Compose部署LAMP平台 8.熟悉Python官方镜像的使用。 7.使用Docker Compose部署Django应用程序 | 1.编写Dockerfile的准则 2.应用程序镜像包含的内容 3.应用程序容器化的基本步骤 4.应用程序容器化的一般方法 5.Java Web开发技术及发布环境 6.PHP应用程序与LAMP平台 7.Python程序的特点 8.Python Web框架 | 掌握了将应用程序部署到容器中的方法,涉及Java、PHP和Python,以及Node.js等应用程序的Docker部署 | 8 |
7 | 自动化构建与持续 集成 | 1.熟悉Git工具的使用方法 2.掌握阿里云提供的自动化构建方法 3.学会使用Drone和Gogs搭建持续集成平台 4.持续集成和持续部署项目 | 1.代码分支管理 2.Docker Hub的自动化构建 3.持续集成与持续部署的概念 4.持续集成与持续部署的工具 5.Drone的工作机制 6..l文件语法 | 学会镜像的自动化构建,初步掌握基于Docker的持续集成和持续部署的实施方法 | 6 |
8 | Docker集配置与应用 | 1.掌握Swarm集的创建方法 2.熟悉Swarm节点的管理操作 3.熟悉服务的创建、伸缩、滚动更新、回滚操作和对外发布操作 4.掌握服务放置的控制 5.创建和使用自定义overlay网络 6.配置外部负载平衡 7.使用Docker栈部署和管理应用程序 | 1.Swarm集的概念 2.Swarm节点 3.Swarm的服务、任务和容器 4.Swarm路由网 5.Swarm服务发现的工作机制 6.Swarm的状态自动调整与故障转移 7.Swarm负载平衡工作机制 8.Docker栈 9.Docker栈的文件格式 | 掌握Docker Swarm集的建立和维护方法,熟悉应用程序在集中的部署和管理 | 8 |
9 | 复习与考核 | 全面的操作技能 | 全面的基础知识 | 对本课程的内容进行回顾和总结,综合运用Docker知识,提高相关的实施操作技能 | 4 |
学 时 合 计 | 54 | ||||
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论