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

价       格: 6.60
讲座评分: 评分不足
视频时长:1小时23分钟
等 131 人参与
试看讲座
37 收藏

讲师信息

Godtoy
1.9k 声望
1210

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

内容简介

章节汇总

  • 第一期,使用docker构建出高可用的开发环境

开发人员痛点

  • 1.环境复杂,需要的工具太多,安装过程漫长、困难;

  • 2.软件、工具太多,本地机器上的软件杂七杂八,宿主机每隔一段时间就有想重装系统的冲动;

  • 3.人员习惯不同,团队的开发环境不一致,开发环境可能是windows或者MacOs,但是线上环境是Linux;

  • 4.开发环境不能版本控制

  • 5.想同时使用多个版本的工具集

  • 6.运维人员和开发人员的关系,出问题甩锅情况严重

  • 7.单枪匹马做项目,自己也想做DevOps

  • 8.产品流量波动很大,计算资源不能合理分配

单人负责项目devops

screenshots.png

解决方案对比

  • 开发环境

    • 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配有内置的群集,易于配置。在以最少的设置模拟生产的环境中测试和调试应用程序

screenshots.png

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


2 条评价

liyaojian · 11月3日

正是我目前需要的知识,感谢!

载入中...
mytory · 9月9日

有点乱,不太适合新手

载入中...

SegmentFault 讲堂是什么?

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

关注 SegmentFault 服务号

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

添加 SF.GG 讲堂粉丝 QQ 群

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