Docker學習筆記(一)

Docker介紹

Docker作爲一個軟件集裝箱化平臺,可以讓開發者構建應用程序時,將它與其依賴環境一起打包到一個容器中,然後很容易地發佈和應用到任意平臺中。它有助於更快地交付產品,Docker可將應用程序和基礎設施層隔離,並且將基礎設施當作程序一樣進行管理。使用Docker,可以更快地打包,測試以及部署應用程序,並可以縮短從編程到部署運行代碼的週期。Docker的原理解析圖:

Docker容器與虛擬機的不同 

      Docker容器,在宿主機器、宿主機器操作系統上創建Docker引擎,在引擎的基礎上再安裝應用; Docker是開發者的開放平臺,通過將每個應用程序打包到容器中來隔離依賴關係。容器就像是輕量級的虛擬機,可以擴展到成千上萬的節點,通過在不同虛擬環境中運行相同應用程序來幫助提升雲的可移植性。

       虛擬機,VM在宿主機器、宿主機器操作系統的基礎上創建虛擬層、虛擬化的操作系統、虛擬化的倉庫,然後再安裝應用。虛擬機廣泛用於雲計算,通過使用虛擬機來實現隔離和資源控制。 虛擬機使用自己的內存管理加載完整的操作系統,使應用程序更加高效和安全,同時確保其高可用性。
  虛擬機具有完整的操作系統,其自身的內存管理通過相關的虛擬設備進行支持。 在虛擬機中,爲用戶操作系統和虛擬機管理程序分配有效的資源,從而可以在單臺計算機(或主機)上並行運行一個或多個操作系統的多個實例。 每個客戶操作系統都作爲主機系統中的單個實體運行。 
  另一方面,Docker容器是使用Docker引擎而不是管理程序來執行的。 因此容器比虛擬機小,並且由於主機內核的共享,可以更快地啓動,具有更好的性能,更少的隔離和更好的兼容性。 Docker容器能夠共享一個內核並共享應用程序庫,因此容器比虛擬機具有更低的系統開銷,只要用戶願意使用單一平臺來提供共享的操作系統,容器可以更快,更少資源。虛擬機可能需要幾分鐘才能創建並啓動,而只需幾秒鐘即可創建並啓動一個容器。與在虛擬機中運行應用程序相比,容器中包含的應用程序提供了卓越的性能。 
  Docker容器比虛擬機弱的一個關鍵指標就是“隔離”。英特爾的VT-d和VT-x技術爲虛擬機提供了ring-1硬件隔離技術,因此虛擬機可以充分利用它的優勢。它可以幫助虛擬機器高效使用資源和防止相互干擾。 Docker容器還沒有任何形式的硬件隔離,因此它們容易受到攻擊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章