美文网首页Docker容器
Docker-何以解忧

Docker-何以解忧

作者: VincentPeng | 来源:发表于2019-06-29 11:05 被阅读2次

最近要做一件事,要把之前的两台服务器的服务,全部迁移到两台新的服务器上,即使一些应用项目已经使用jenkins部署,但是基础环境都是新的。要在一个全新的虚拟机中部署一套新的分布式环境:JDK、Nginx、Redis、zookeeper、Jenkins、CI工具 这些工具一个一个上传安装改参数用了一个周末时间。这次折腾过之后就感觉如果可以平时编程之后,项目随便丢到一个服务器,配套设施都可以自动安装好,哪该多好啊。所在公司用的有一套自己研发自动发布工具,也是别人配好的服务器,使用工具单节点发布,确实可以更加便捷,但还是不符合我自己的胃口,需要一个可以横向和纵向还有自定义可控的工具。

自己需求如下:

  • 程序可以多环境自动发布(Jenkins)
  • 依赖环境可以自动安装
  • 项目runtime环境保持一致
  • 可以随时在同环境下上线项目,且可以复用

简述场景:

  • 开发一个整体项目,可以分环境部署,随时上线一个环境(在之前联调中,发生过,别人的系统可能存在三、四套环境,而我们只有两套环境:测试和生产,这个时候如果重新配套一个环境,除了要新机器不说,一套环境的搭建各种资源配置都够一个正式发布的工作量了)
  • 接上一个场景,有时候觉得一些特殊的环境,不想生产环境一样,一直需要独立占用虚拟机、当我用的时候,部署上去,不用的时候停用服务器,供其他应用使用就好。这样就可以做到弹性部署。
  • 比如有时候搭建一些配套服务,采用的别人开发好的工具,比如dubbo-admin、gitlab、虽然一些不需要切换环境,但是如果要做服务迁移,这些重复工作由需要重新来一遍,之前一般我都要存储一份安装记录和文件备份,以免以后还要每次都重新去下载。
  • 环境以及依赖的中间件保持一致,可能有时候就会因为版本冲突,导致你要多做很多适配,(之前遇到过测试的mysql数据库是5.6、然而生产的是5.7,导致一些timestamp设定命令会失败)
  • 集群控制,可以进行服务编排,现在的项目大多需要拆分成微服务部署,现在的小项目都是三四个springboot服务支持的,虽然是单节点,但如果项目压力增加,要随时可以增加节点或者为了高可用,也应该是多备份。

说了这么多,也就是我为什么开始关注docker,作为一个开发者,已经不再单单的关注程序的结果是否和预期的是否一致,要从一个项目真正运行的环境去考虑项目的整体的设计,这个真正的环境不仅仅是虚拟机等软件运营环境,也有面向客体,面向未来需求的环境的要求。所以我觉得这也是为什么devops被大家越来越重视的原因吧,现在的中间间越来越便捷,应用迭代更加频繁。
所以我开始接触docker,接触k8s。感觉从官网介绍和其他文档中,是可以满足我的需求的,所以我觉得可以花费一定的成本进行项目改造和体验,我也会把项目的改造过程记录下来。

相关文章

网友评论

    本文标题:Docker-何以解忧

    本文链接:https://www.haomeiwen.com/subject/geiucctx.html