之前一直在学习关于docker的一些知识,但是直到最近关注gitbook才开始真正应用docker的快速构建。
观念的改变
** Docker本质上是构建一个虚拟容器,不能以虚拟机的思路去考虑。 **
例子
这是我上一篇博客使用的Dockerfile,左边是最终版
,右边是初版
。
基源的选择
最明显的区别是,最终版
使用的基镜像是** node ** , 而初版
使用的基镜像是** centos ** ,也就是直接从虚拟机的方向开始。
依赖的烦恼
初版
1 | RUN yum -y install epel-release |
最终版
1 | RUN npm install gitbook-cli -g && gitbook -V |
效率高下立见,因为最终版是直接基于node官方镜像构建容器的,所以直接免去了安装node这些依赖类之间的烦恼
总结
不得不说,避免掉这些问题。
docker的确是对于开发者的一大利器,因为需要测试的时候只要直接秒级构建一个容器,就能去测试相应的服务,同时出现问题的时候,连回滚都不用,直接rm掉,然后挂载一个本地的卷又能够马上上线一个新的测试环境。