第一期|使用docker构建高可用的开发环境

价       格: 6.60
讲座评分: 评分不足
开始时间: 2017-09-08 周五 19:30()
等 94 人参与
19 收藏

讲师信息

Godtoy
1.8k 声望
1210

web开发者,专注于开发&运维技术,主要从事NodeJs开发和PHP开发。热衷开源,喜欢捣鼓一系列的开源产品来提供给企业以解决现实面临的问题,降低企业成本。目前就职于成都易猿网络科技,担任开发运维工程师,负责项目架构设计,线上产品运维。

内容简介

章节汇总

  • 第一期,使用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

1 条评价

mytory · 9月9日

有点乱,不太适合新手

如何发起一堂讲座

目前讲师人选主要是通过主动邀请的有一定影响力技术嘉宾,我们也欢迎在技术领域同样优秀的您申请成为讲师,如果条件合适我们会在三个工作日内邮件联系您。

SegmentFault 讲堂是什么?

SegmentFault 讲堂是以开发者为中心的视频演讲平台。 旨在和开发者一起分享和创造有价值的技术内容。 目前讲堂主要有视频观看,下载相关文档以及和主讲人聊天互动的功能。

关注 SegmentFault 服务号

  • 订阅讲堂开播提醒
  • 及时获取更多直播动态

添加 SF.GG 讲堂粉丝 QQ 群

  • 群号码:642336612(备注 SF 用户名)
  • 不定期获取讲座优惠信息,随时和开发者交流互动