从8月中旬开始接触Docker-到9月26日正式开始线上部署-持续40天,总学习时间为9.5天,其中上班时间&加班时间各占一半的样子。
第一周 我要学习一个名为Docker的工具
8月中旬
Boss期望能学习下容器技术,我们可以找个周末一天 一起来研究下。
我想了下自己的时间规划(周六复旦、周日鲁德)周末根本没时间,立马拒绝了他这个提议,然后Boss说我们可以周五的下午一起学习。
有了开始,结局就是已经定好了的。
Boss的想法到执行-中间差了个CEO,而等Boss自己去执行,就太不把Boss当Boss啦。
8月19日22:28分,在公司服务器上搭建了docker服务器,在docker中部署了一个Jdk1.8+Tomcat8,给Boss发邮件附带上基本操作。
CentOS7上安装Docker、
Docker中使用CentOS7镜像、
Docker中使用Tomcat8
备注:在容器中安装的,非dockerfile生成,此时我都不知道有dockerfile
第二周 在Docker上搭建最小环境
上周在Docker中完成了tomcat的安装后,就开始迫不及待想在docker安装数据库,以及用Tomcat启动应用,在这过程使用docker commit 提交了N次镜像。
完成的有Docker运行数据库mariaDB、
Docker中mariaDB Master/Slave Replication
从现在角度来看这周,最大的收获就是巩固了命令
第三周 对于Docker的思考
有了镜像,也能启动容器之后,就开始思考了,如何快速地得到镜像,不能总是在容器中修改,然后再commit吧?
于是开始思考如何更快速地制作镜像,刚看到Dockerfile时 会排斥它的,又有一堆的命令要学,ADD 和 COPY,CMD和ENTRYPOINT 啥啥地分不清楚呀。
Docker Dockerfile的使用
Docker 私有仓库建立
第四周 Docker的管理工具
在自己机器上启动了N个容器后,用docker ps -a 看到一堆内容,又开始头疼啦,貌似区分起来有点难度,有没有更好的办法呢?
于是依靠搜索-查到了十大docker管理工具,开始对比工具,找自己想要的。
最终定位在:Docker 管理工具(Shipyard&DockerUI)
第五周 Docker性能测试
到这里为此,Docker的基本使用已经完成
从安装-到制作镜像-容器管理-镜像管理 我想这是不是可以投入使用啦?
Boss问了我一个问题,Docker上性能怎么样?
于是有了它 Docker中IO、MariaDB的性能测试
第六周 Docker 仓库管理工具
之前的registry没有管理界面,使用起来可能会有点麻烦,为了降低学习成本和使用成本,开始找更好的工具,这个过程消耗些时间,走了些弯路。详见 Docker registry 管理工具Portus
第七周 XX项目的Docker部署
9月22日,Boss说有个环境需要装6台应用服务器,数据库为M/S结构,master在实体机上,需要国庆前将机器部署好。
因之前在公司服务器上搭建的docker镜像大部分手工制作,为了以后运维方便,考虑着全部换成dockerfile制作。
9月22日下午,完成registry仓库、管理工具的安装
9月23日下午,完成tomcat+jdk+apr镜像,rsync镜像,应用启动测试
9月26日下午,完成mariadb镜像-并配置好6台slave
现在万事具备,只等正式的应用包出来,就可以完成部署啦。
本次线上总消耗时间为1.5天。
(因本职非运维,没有整天整天的时间花在这事上面)
如果再增加1台服务器要部署,时间会控制在10分钟以内。
如果换新地方,估计工作量会缩减到0.5天(dockerfile可复用)。
对比原来以周为单位-估算部署时间,现在以天单位,单台以分钟为单位,效率上提升的是非常明显的。
且docker 偏于维护,以后就算错了 修改docker镜像-发布镜像,应用服务器上下拉镜像-启动新镜像即可,不用每台更改,再也不用担心配置不同的问题。
备注:还会有很多问题待学习,就等线上暴露和解决啦,工具只有真正使用啦,才能发挥出价值