專家觀點:Docker架構優缺點大剖析 | docker應用
在Docker問世後,其打包應用程式、快速部署的能耐,受到開發者的廣大歡迎。在2015年,Docker進一步推出私有儲存庫功能DockerRegistry,以及原生網路功能DockerNetworking,讓企業更容易自行架構Docker叢集。這些都讓Docker逐漸成為正式環境的新選擇。在Docker受到一片好評下,著有《Docker源碼分析》,大受到中國Docker社群好評的孫宏亮認為,Docker至少有3大缺點,還無法滿足各種環境的需求。深入研究Docker原始碼的他,也是中國DockerPaaS服務商DaoCloud參與第一線開發的軟體工程師。別於多數Docker開發者從應用程式面切入談論Docke...
在Docker問世後,其打包應用程式、快速部署的能耐,受到開發者的廣大歡迎。在2015年,Docker進一步推出私有儲存庫功能Docker Registry,以及原生網路功能Docker Networking,讓企業更容易自行架構Docker叢集。這些都讓Docker逐漸成為正式環境的新選擇。
在Docker受到一片好評下,著有《Docker源碼分析》,大受到中國Docker社群好評的孫宏亮認為,Docker至少有3大缺點,還無法滿足各種環境的需求。深入研究Docker原始碼的他,也是中國Docker PaaS服務商DaoCloud參與第一線開發的軟體工程師。
別於多數Docker開發者從應用程式面切入談論Docker的角度,孫宏亮在2015 Container Summit上,則是選擇從Docker的程式碼設計架構,來剖析優缺點。
孫宏亮也指出,Container技術雖然已經發展許久,但是透過Docker獨特的映像檔設計,才使Container技術在近年發揚光大。
獨特映像檔設計讓Docker爆紅
Container技術最早可以追溯至1979年時推出的Unix V7,其中的chroot系統呼叫指令,透過更改程序的根目錄,達到系統程序隔離的效果。而發展已經超過30年的Container技術,為何遲至2013年才因為Docker橫掃全球IT業界,孫宏亮解釋,因為Docker映像檔的設計,使得Docker得以打破過去「程式碼即應用」的觀念。
傳統上認為,軟體開發結束後,所產出的成果即是程式碼,或是能夠編譯執行的二元執行檔。
而為了讓這些程式碼可以順利執行,開發團隊也得準備完整的部署文件,讓維運團隊得以部署應用程式,不過,即便如此,仍然常常發生部署失敗的狀況。孫宏亮表示,Docker透過映像檔,將作業系統核心外,運作應用程式所需要的系統環境,由下而上打包,達到應用程式跨平臺間的無縫接軌運作。
而微軟已經宣布,將在下一代的Windows Server 2016中內建Docker Engine,使得Windows Sever可以原生支援Docker。但孫宏亮也解釋,目前Windows對Docker的支援,多數還是在API層。除了Windows作業系統與Lin...