上面是一個標準PHP項目在Docker環境下的演進過程,實際項目中一般會集成更多更復雜的服務,但上述基本步驟仍然可以通用。比如[EvaEngine/Dockerfiles](https://github.com/EvaEngine/Dockerfiles)是為了運行我的開源項目[EvaEngine](http://avnpc.com/pages/eva-engine)準備的基于Docker的開發環境,EvaEngine依賴了隊列服務Gearman,緩存服務Memcache、Redis,前端構建工具Gulp、Bower,后端Cli工具Composer、PHPUnit等。具體實現方式可以自行閱讀代碼。
經過團隊實踐,原本大概需要1天時間的環境安裝,切換到Docker后只需要運行10余條指令,時間也大幅縮短到3小時以內(大部分時間是在等待下載),最重要的是Docker所構建的環境都是100%一致的,不會有人為失誤引起的問題。未來我們會進一步將Docker應用到CI以及生產環境中。