docker官网上说明了docker的典型场景:
使应用的打包与部署自动化
创建轻量、私密的PAAS环境
实现自动化测试和持续的集成/部署
根据这些特性,我们可以想象一下,如果你的项目有如下痛点或者需求,那么可以考虑一下使用docker了。
- 需要频繁的升级,可以充分利用docker的镜像版本快速升级回退。
- 开发,测试,线上的代码运行环境经常变更。每当你查了半天bug,最后竟然是环境不一致的时候。
- 销售演示或者POC的demo。启动后无历史数据,免去清理数据的烦恼。
- 项目体量过大,进行了微服务改造。需要统一管理,docker-compose了解下。
- 占用资源过多,可以利用docker资源配额和设置启动策略,提升稳定性。
- 整合开源服务,随着docker使用的普及,越来越多的开源项目提供了docker镜像部署。
注意:事物都是有两面,并不是所有项目都适合docker化改造,而且任何的改动都有可能产生不好的影响,要对技术保持敬畏。
遵循科学流程,《企业级容器云架构开发指南》中给出了一个改造流程,可参考:
- 评估代价可行性
- 改造方案
- 代码修改
- 制作镜像
- 单机验证
- 多机部署