我们公司自己研发了一套 grand-line 系统,使用 docker 来部署项目。
我是第一批小白鼠,一开始网络差,build 一次要半个小时,连接进入 web shell 也很慢,部署一个微信项目用了我三天时间.....
现在逐渐发现了 docker 的一些好处。我从开发的角度说一下我对这个的感受:
1. 安全
相比直接跑在服务器,docker 是在容器里面,感觉更安全
2. 方便启动多个,更加稳定
我使用 docker 部署,然后一次会创建三个容器,一个用来作为备份(只有确定版本稳定了才更新这个容器,否则这个容器一直不变),另外两个用于生产,更新一个容器的时候,nginx 就会将域名指向另一个容器。
3. 使用门槛低
如果是配置好了的 docker,那么更新代码之后只需要点击就能完成代码发布
一些不好的地方
没有现成的包安装更麻烦,我遇到的有 phantomjs,OCR 光学识别库。第一次安装要花很长时间来调试。
build 时间太长。我们现在是每次都重新从网络上下载所需的包,也会做一些缓存,但每次build都要 10 -- 25 分钟。改一个环境变量,也要重新 build 一遍。
如果离开了公司,这种发布方式可能就没有了,会对 docker 造成依赖。不知道你们的公司是怎么发布的。