原文鏈接:http://blog.csdn.net/dev_csdn/article/details/78424803
-------------------------------------------------------------------
Docker是開發人員和系統管理員構建,發布和運行分布式應用程序的開放平臺,可以在筆記本電腦、數據中心、虛擬機還有云服務器上運行。 下面將介紹使用Docker工具來提高生產率的10種方法。
本地依賴
你需要在本地系統上快速試用 magento 嗎?或者在項目中使用Mysql?或者大多數的開源項目,那么請使用Docker。你將在上述用例中節省30-60分鐘不等的時間。
構建環境
沒有合適的環境編譯一些源代碼?可以使用Docker導入源碼并用docker來編譯。典型的例子是Docker Golang編譯器。
微服務
你在使用微服務嗎?將每個服務打包成一個docker鏡像并使用docker組合(docker-compose)是模擬生產環境的一個好方法(參考Docker網絡)。剛開始確實需要做些工作,但最終會有巨大的生產力提升。
自動化測試
如何編寫自動化的集成測試用例,不需要很長時間就可以開始運行,而且還易于管理?
在這里不討論在docker中如何運行測試用例,而是針對某個docker鏡像運行測試用例。針對docker鏡像測試有一個很大的優勢。我的測試流程使用docker鏡像(app+db),開始時使用MySQL鏡像加載數據然后使用app鏡像測試API。這個腳本展示了一個快速示例。
部署過程
你可以使用docker鏡像自行部署。許多大的云服務商支持docker托管,如果你能通過shell訪問指定的節點(node)/虛擬機(vm),事情就更容易。只需設置docker并在所需的端口上運行docker映像。
持續部署
有了docker,持續部署(Continuous Deployment)就變得很容易(殺掉老的docker鏡像并重新啟動一個新鏡像)。關于這一部分的自動化有很多選項,你可能早就聽過Kubernetes。
多租戶服務
如果你的應用程序要提供給多租戶(租戶是一組用戶,有點像一個組織),但你的應用程序是按單一租戶設計的,那么使用子域名+docker可以很快讓你提供多租戶服務。
一臺機器上的多個應用
這與上面的微服務有點關系,但即使你沒有微服務,只是服務,docker仍然可以很好地管理單個計算機上的所有服務。你應該使用不同文件夾來存儲每個docker鏡像下的數據。
擴展QPS
通過創建另一個容器,docker可以幫助你輕松地橫向擴展。如果你預計將會有一個巨大的高峰流量,這可以幫到你。只需添加更多的機器,并增加負載平衡器后面的運行容器的數量。