您正在学习的是试看内容,报名后可学习全部内容
报名课程
第一期|使用docker构建高可用的开发环境
章节汇总
- 第一期,使用docker构建出高可用的开发环境
开发人员痛点
- 1.环境复杂,需要的工具太多,安装过程漫长、困难;
- 2.软件、工具太多,本地机器上的软件杂七杂八,宿主机每隔一段时间就有想重装系统的冲动;
- 3.人员习惯不同,团队的开发环境不一致,开发环境可能是windows或者MacOs,但是线上环境是Linux;
- 4.开发环境不能版本控制
- 5.想同时使用多个版本的工具集
- 6.运维人员和开发人员的关系,出问题甩锅情况严重
- 7.单枪匹马做项目,自己也想做DevOps
- 8.产品流量波动很大,计算资源不能合理分配
单人负责项目devops
解决方案对比
开发环境
- Vagrant每个环境都是一台虚拟机资源,繁重、管控比较麻烦,迁移和版本控制也麻烦。虽说它也是一种开发团队的解决方案
运维环境
- 类似ECS服务器自己做集群或者单机服务
- puppet 集中配置管理,使用于大批量部署想通过服务场景
Docker简介
Docker 是一个开源的应用容器引擎。
核心观念:
Build, Ship, and Run Any App, Anywhere
构建,迁移,运行
能干什么:
https://www.docker.com/what-d...
- Docker自动执行设置和配置开发环境的重复任务,以便开发人员可以专注于重要的事情(构建出优秀的软件)
- 使用Docker的开发人员不必安装和配置复杂的数据库,也不用担心在不兼容的语言工具链版本之间切换。
- 任何语言,任何技术栈。构建,测试,调试和部署以任何编程语言编写的Linux和Windows Server容器应用程序,而不会出现不兼容或版本冲突的风险
- 将入职时间减少65%:快速构建,测试和运行复杂的多容器应用程序,并停止浪费在服务器和开发人员机器上安装和维护软件的时间。所有依赖项都运行在容器中,从而消除了“我的机器上的工作”问题
- Docker配有内置的群集,易于配置。在以最少的设置模拟生产的环境中测试和调试应用程序
docker的优势是轻量级虚拟化产品,传统的虚拟化中包含了一个操作系统资源开销,而docker只是在宿主机上进行了资源的一系列隔离。启动一个vmware虚拟机最快需要10-20S,而启动容器,只需要秒级。
vmware虚拟宿主机环境安装
- Step1 准备一台包含vmware的机器
- Step2 选择喜欢的linux发行版
- Step3 安装docker,docker-compose 2个必要工具
- Step4 共享你的宿主机的workspace到linux虚拟机
构建docker开发环境和常用工具
- docker-compose 说明
- 项目结构目录构思
- yaml 文件编写
- 常用工具编排
- 启动一个lnmp+redis的环境
- 数据库的备份和恢复
- 数据库的迁移方案
容器项目构建编译环境
- 非解释性语言的编译环境
- 配置alias做一个干净的工具集
- 触发编译构建
容器自动化测试
- 测试的必要性
- 自动化测试
- 简单实例
和团队共享你的环境
- git版本控制
- githook配置
- 发布项目到github共享项目资源
编排容器线上生产环境
- 线上环境差异说明
- 分离配置文件
- 分离compose文件
发布到公有云环境
- 容器云
- 云服务器
日常维护和日志管理
- docker 日志查看
- 日志收集
MacOs使用docker构建以上环境说明
- Docker ToolBox