Docker類似虛擬機器的概念,但是與虛擬化技術有幾點不同,如下:
(建議學習:docker教學)
1、虛擬化技術依賴實體CPU和內存,是硬體層級的;而docker建構在作業系統上,利用作業系統的containerization技術,所以docker甚至可以在虛擬機器上運行;
2、虛擬化系統一般都是指作業系統鏡像,比較複雜,稱為“系統”;而docker開源而且輕量,稱為“容器”,單一容器適合部署少量應用,例如部署一個redis、一個memcached;
3、傳統的虛擬化技術使用快照來保存狀態;而docker在保存狀態上不僅更為輕便和低成本,而且引入了類似源代碼管理機制,將容器的快照歷史版本一一記錄,切換成本很低;
4、傳統的虛擬化技術在建置系統的時候較為複雜,需要大量的人力;而docker可以透過Dockfile來建構整個容器,重啟和建置速度很快。更重要的是Dockfile可以手動編寫,這樣應用程式開發人員可以透過發布Dockfile來指導系統環境和依賴,這樣對於持續交付十分有利;
5、Dockerfile可以基於已經建置好的容器映像,建立新容器。 Dockerfile可以透過社群分享和下載,有利於該技術的推廣。
Docker會像一個可移植的容器引擎一樣運作。它把應用程式及所有程式的依賴環境打包到一個虛擬容器中,這個虛擬容器可以運行在任何一種 Linux伺服器上。這大大提高了程式運作的靈活性和可攜性,無論需不需要許可、是在公有雲還是私密雲、是不是裸機環境等等。
以上是docker與傳統虛擬技術有什麼區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!