什么是Docker?看这一篇干货文章就够了!
作为程序员我们应怎样理解docker? 容器技术的起源 假设你们公司正在秘密研发下一个“今日头条”APP,我们姑且称为明日头条,程序员自己 从头到尾搭建了一套环境 开始写代码,写完代码后程序员要把代码交给测试同学测试,这时测试同学开始 从头到尾搭建这套环境 ,测试过程中出现问题程序员也不用担心,大可以一脸无辜的撒娇,“明明在人家的环境上可以运行的”。 测试同学测完后终于可以上线了,这时运维同学又要重新 从头到尾搭建这套环境 ,费了九牛二虎之力搭建好环境开始上线,糟糕,上线系统就崩溃了,这时心理素质好的程序员又可以施展演技了,“明明在人家的环境上可以运行的”。 从整个过程可以看到,不但我们重复搭建了三套环境还要迫使程序员转行演员浪费表演才华,典型的浪费时间和效率,聪明的程序员是永远不会满足现状的,因此又到了程序员改变世界的时候了,容器技术应运而生。 有的同学可能会说:“等等,先别改变世界,我们有虚拟机啊,VMware好用的飞起,先搭好一套虚拟机环境然后给测试和运维clone出来不就可以了吗?” 在没有容器技术之前,这确实是一个好办法,只不过这个办法还没有那么好。 先科普一下,现在云计算其底层的基石就是虚拟机技术,云计算厂商买回来一堆硬件搭建好数据中心后使用虚拟机技术就可以将硬件资源进行切分了,比如可以切分出100台虚拟机,这样就可以卖给很多用户了。 你可能会想这个办法为什么不好呢?