Docker 前言
2018-07-24 15:29 更新
来源卧龙阁的专栏 PHP与创业的那些事儿
环境部署是所有团队都必须面对的问题随着系统越来越大依赖的服务也越来越多比如我们目前的一个项目就会用到
- Web服务器Nginx
- Web程序PHP + Node
- 数据库MySQL
- 搜索引擎ElasticSearch
- 队列服务Gearman
- 缓存服务Redis + Memcache
- 前端构建工具npm + bower + gulp
- PHP CLI工具Composer + PHPUnit
因此团队的开发环境部署随之暴露出若干问题
1. 依赖服务很多本地搭建一套环境成本越来越高初级人员很难解决环境部署中的一些问题
2. 服务的版本差异及OS的差异都可能导致线上环境BUG
3. 项目引入新的服务时所有人的环境需要重新配置
对于问题1可以用Vagrant这样的基于虚拟机的项目来解决团队成员共享一套开发环境镜像。对于问题2可以引入类似PHPBrew这样的多版本PHP管理工具来解决。但两者都不能很好地解决问题3因为虚拟机镜像没有版本管理的概念当多人维护一个镜像时很容易出现配置遗漏或者冲突一个很大的镜像传输起来也不方便。
Docker的出现让上面的问题有了更好的解决方案虽然个人对于Docker大规模应用到生产环境还持谨慎态度但如果仅仅考虑测试及开发私以为Docker的容器化理念已经是能真正解决环境部署问题的银弹了。
下面介绍Docker构建PHP项目开发环境过程中的演进本文中假设你的操作系统为Linux已经安装了Docker并且已经了解Docker是什么以及Docker命令行的基础使用如果没有这些背景知识建议先自行了解。
以上内容是否对您有帮助:
更多建议: