Docker
Docker 是一個開源的應用容器引擎,讓開發(fā)者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然后發(fā)布到任何流行的Linux或電銷機器人 機器上,也可以實現虛擬化。容器是完全使用沙箱機制源碼,相互之間不會有任何接口。
Docker特性Docker解決的問題
云計算、大數據,移動技術的快速發(fā)展,加之企業(yè)業(yè)務需求的不斷變化,導致企業(yè)架構要隨時更改以適合業(yè)務需求,跟上技術更新的步伐。毫無疑問,這些重擔都將壓在企業(yè)開發(fā)人員身上;團隊之間如何高效協(xié)調,快速交付產品,快速部署應用,以及滿足企業(yè)業(yè)務需求,是開發(fā)人員亟需解決的問題。Docker技術恰好可以幫助開發(fā)人員解決這些問題。
為了解決開發(fā)人員和運維人員之間的協(xié)作關系,加快應用交付速度,越來越多的企業(yè)引入了DevOps這一概念。但是,傳統(tǒng)的開發(fā)過程中,開發(fā)、測試、運維是三個獨立運作的團隊,團隊之間溝通不暢,開發(fā)運維之間沖突時有發(fā)生,導致協(xié)作效率低下源碼,產品交付延遲, 影響了企業(yè)的業(yè)務運行。Docker技術將應用以集裝箱的方式打包交付,使應用在不同的團隊中共享,通過鏡像的方式應用可以部署于任何環(huán)境中。這樣避免了各團隊之間的協(xié)作問題的出現,成為企業(yè)實現DevOps目標的重要工具。以容器方式交付的Docker技術支持不斷地開發(fā)迭代,大大提升了產品開發(fā)和交付速度。
此外,與通過Hypervisor把底層設備虛擬化的虛擬機不同,Docker直接移植于Linux內核之上,通過運行Linux進程將底層設備虛擬隔離,這樣系統(tǒng)性能的損耗也要比虛擬機低的多,幾乎可以忽略。同時,Docker應用容器的啟停非常高效,可以支持大規(guī)模的分布系統(tǒng)的水平擴展,真正給企業(yè)開發(fā)帶來福音。
Docker很大程度上解決了上述問題,提高開發(fā)和運維的工作效率,提高企業(yè)的工作效率。
Docker的未來
任何一項新技術的出現,都需要一個發(fā)展過程,比如云計算為企業(yè)所接受用了將近五年左右時間,OpenStack技術也經歷了兩、三年才受到人們的認可。因此,雖然Docker技術發(fā)展很快,但技術還不夠成熟,對存儲的靈活的支持、網絡的開銷和兼容性方面還存在限制,這是Docker沒有被企業(yè)大范圍使用的一個主要原因。另外一個原因是企業(yè)文化是否與DevOps運動一致,只有企業(yè)支持DevOps,才能更大地發(fā)揮Docker的價值。最后一個原因就是安全性問題,Docker對于Linux這一層的安全的隔離還有待改進,才能進一步得到企業(yè)的認可。