环境搭建与部署是产品实际开发过程中的第一步,其操作过程极易产生错误,如:在若干不同版本操作系统、不同配置的机器上搭建无差异化开发,测试环境难度高;产品研发环境与发布环境往往不同,正式上线通常会出现难以预料的问题,产品发布风险较高。项目扩大的过程中,参与人员流动性较大,每个人都要部署自己的开发环境,着实浪费时间。而且人为操作存在不可避免的失误,改正这些失误需要消耗更多的时间,代价较大,而Docker的出现,则解决了这些让人头疼的问题的。
Docker的所有操作都只能在Linux系统下进行,环境部署发布需要记忆复杂的Linux命令,对于不清楚Docker运行原理的开发和运维需要大量的时间理清其原理,同时,使用起来也非常吃力,如果存在一个Docker可视化管理工具,那就事半功倍了,无需Linux基础,无需记忆复杂的Linux命令,只需简单的鼠标和键盘即可完成一项操作。
研究方法
1.了解Docker相关的基本知识及其基本工作原理和工作流程,在此基础上,熟悉Docker Remote API,根据PHP curl编程实现向Docker Server发送POST/GET/DELETE等请求,从而远程对容器和镜像进行操作。
2、学习类似系统(如shipyard)展现方式和风格,并作出对比,最后制定出适合公司内部最优方案。
3、进行系统总体设计,如整个系统框架结构,开发需要使用的技术。
4、进行系统详细设计,如系统功能模块设计,数据库设计等。
5、根据总体设计和详细设计,实现对应系统功能。
6、系统测试,包括安全测试和功能测试。
研究结论
系统开发完成后还需要进行良好的测试工作才能保证系统在线上正常运行,因此,本文结尾处书写了系统主要功能的测试用例。系统的完成大大减少了运维和开发Docker管理的操作时间,提高了各自的工作效率。
目录
第1章 绪论 1
1.1 选题研究的目的和意义 1
1.2 国内外选题相关研究现状 1
1.3 选题目标 1
1.4 选题实施方案 2
1.5 本章小结 2
第2章 应用控制系统相关技术 3
2.1 系统后台开发技术 3
2.1.1 开源容器引擎Docker 3
2.1.2 Dcoker Remote API 3
2.1.3 CURL编程 4
2.1.4 后台开发框架ThinkPHP 4
2.2 系统前端开发技术 4
2.2.1 前端开发框架Angular 4
2.2.2 前端样式框架Bootstrap 5
2.2.3 前端代码模块化Require 5
2.2.4 前端工程构建工具Gulp 5
2.3 本章小结 5
第3章 应用控制系统需求分析 7
3.1术语约定 7
3.2 需求概述 7
3.3系统业务需求分析 7
3.4系统用户需求分析 7
3.5系统功能需求分析 8
3.5.1 主机管理 8
3.5.2 容器管理 12
3.5.3 镜像管理 16
3.5.4 系统日志 18
3.5.5 用户管理 18
3.6 系统非功能性需求 19
3.7 本章小结 20
第4章 应用控制系统概要设计 21
4.1 系统架构设计 21
4.2 数据库设计 22
4.2.1 数据库环境设计 22
4.2.2 命名规则 22
4.2.3 实体 23
4.2.4 实体之间的关系 24
4.2.5 表设计 25
4.3 本章小结 27
第5章 应用控制系统详细设计与实现 28
5.1 总体设计 28
5.1.1 开发环境 28
5.1.2 系统架构 28
5.2 主机管理详细设计与实现 28
5.2.1 主机管理模块设计 28
5.2.2 创建主机 29
5.2.3 删除主机 31
5.2.4 查询主机 32
5.2.5 创建主机分组 33
5.2.6 删除主机分组 34
5.2.7 查询主机分组 35
5.2.8 更改主机所在分组 36
5.3 容器管理详细设计与实现 37
5.3.1 容器管理模块设计 37
5.3.2 创建容器 38
5.3.3 操作容器 39
5.3.4 查询容器日志 41
5.3.5 查询容器进程 41
5.3.6 查询容器列表 43
5.3.7 查询容器详细信息 44
5.3.8 重命名容器 45
5.4 镜像管理详细设计与实现 46
5.4.1 镜像管理模块设计 46
5.4.2 创建镜像 46
5.4.3 查询镜像 48
5.4.4 删除镜像 49
5.5 系统日志管理详细设计与实现 50
5.5.1 系统日志管理模块设计 50
5.5.2 查询系统日志 50
5.6 用户管理详细设计与实现 51
5.6.1 用户管理模块设计 51
5.6.2 用户登录 52
5.6.3 退出系统 53
5.6.4 获取用户列表 53
5.4 本章小结 54
第6章 应用控制系统测试 55
6.1 测试环境 55
6.2 测试原则 55
6.3 功能性测试 55
6.3.1 主机管理模块 55
6.3.2 容器管理模块 59
6.3.3 镜像管理模块 64
6.3.4 用户管理模块 65
6.3.5 系统日志管理模块 65
6.4 兼容性测试 66
6.5 测试过程中发现的问题总结与分析 67
6.6 本章小结 67
结论 68
致谢 69