環(huán)境部署是所有團隊都必須面對的問題隨著系統(tǒng)越來越大依賴的服務也越來越多比如我們目前的一個項目就會用到
因此團隊的開發(fā)環(huán)境部署隨之暴露出若干問題
1. 依賴服務很多本地搭建一套環(huán)境成本越來越高初級人員很難解決環(huán)境部署中的一些問題
2. 服務的版本差異及OS的差異都可能導致線上環(huán)境BUG
3. 項目引入新的服務時所有人的環(huán)境需要重新配置
對于問題1可以用Vagrant這樣的基于虛擬機的項目來解決團隊成員共享一套開發(fā)環(huán)境鏡像。對于問題2可以引入類似PHPBrew這樣的多版本PHP管理工具來解決。但兩者都不能很好地解決問題3因為虛擬機鏡像沒有版本管理的概念當多人維護一個鏡像時很容易出現(xiàn)配置遺漏或者沖突一個很大的鏡像傳輸起來也不方便。
Docker的出現(xiàn)讓上面的問題有了更好的解決方案雖然個人對于Docker大規(guī)模應用到生產(chǎn)環(huán)境還持謹慎態(tài)度但如果僅僅考慮測試及開發(fā)私以為Docker的容器化理念已經(jīng)是能真正解決環(huán)境部署問題的銀彈了。
下面介紹Docker構建PHP項目開發(fā)環(huán)境過程中的演進本文中假設你的操作系統(tǒng)為Linux已經(jīng)安裝了Docker并且已經(jīng)了解Docker是什么以及Docker命令行的基礎使用如果沒有這些背景知識建議先自行了解。
更多建議: