什麼是 Docker ? Docker 與虛擬機的比較

edbwebinar
2021.06.02 《歐立威科技 2021 系列研討會》6月|EDB – 資料庫遷移最佳解決方案
2021-05-26
ELK Webinar
2021.06.09 《歐立威科技 2021 系列研討會》6月|ELK – 自動化機器學習,邁向資訊安全智能化
2021-06-01

基本介紹

容器是打包程式碼及其所有有依賴性的軟體的標准單元 (standard unit),因此應用程式可以從一個計算環境快速可靠地運行到另一個計算環境。 Docker 容器映像是一個輕量級的、獨立的、可執行的軟體包,其中包含運行應用程式所需的一切:程式碼、運行時間、系統工具,資源庫和設置。

容器化

容器映像在運行時會成為容器,對於 Docker 容器而言-映像在 Docker Engine 上運行時會成為容器。不論基礎架構如何,容器化軟體都可用於基於 Linux 和 Windows 的應用程式,始終運行相同。容器將軟體與其環境獨立開來,並確保儘管開發和發布之間存在差異,但軟體仍可以一致性的工作。

在 Docker Engine 上運行的 Docker 容器:

標準 : Docker 創建了容器的產業標準 ,因此它們可以搬移到任何地方

輕巧 :容器共享電腦的操作系統內核,因此不需要每個應用程式都使用操作系統,從而提高了伺服器效率,並降低了伺服器使用成本和許可成本 (Licensing costs)。

安全 :應用程式在容器中更安全,並且 Docker 提供了業界最強大的獨立除錯功能 Docker 容器跑在 Docker Engine 上。

Docker的無所不在

Docker容器技術於2013年作為開源 Docker Engine 推出。

他在 Linux 世界中,利用關於容器的現有計算概念,這些原始概念被稱為 cgroups 和 namespaces。Docker 的技術之所以獨特,是因為它專注於開發人員和系統操作員的需求,以將應用程式與基礎架構的相依性分開。

Linux 世界的成功推動了與 Microsoft 的合作,將 Docker 容器及其功能引入 Windows Server (有時稱為 Docker Windows 容器)。

從 Docker 及其開源項目獲得的技術 Moby 已被所有主要數據中心供應商和雲提供商所利用。這些提供商中的許多提供商都在利用 Docker 來提供基於容器的 IaaS 產品。此外,領先的開源無伺服器框架也是在利用 Docker 容器技術。

容器跟虛擬機的比較

容器

容器是在應用程序層的抽象化表現,將程式碼和相依項打包在一起。多個容器可以在同一台電腦上運行,並與其他容器共享 OS 內核 (kernel),每個容器在作業系統中可作為獨立的程式運行。容器佔用的空間少於 VM (容器映像的大小通常為幾 10 MB),可以處理更多的應用程式,因此不再需要那麼多的 VM 與操作系統。

虛擬機

虛擬機 (VM) 是將一台伺服器轉變為多台伺服器的抽象硬體表現。系統管理程式允許多個 VM 在單一電腦上運行。每個 VM 包含操作系統、應用程式、必要的二進製文件和系統庫的完整副本-佔用數 10 GB。也因此 VM 會啟動的緩慢。

容器和虛擬機具有相似的資源隔離和分配優勢,但功能不同,因為容器虛擬化了操作系統,而不是硬體。使容器更便攜,更高效。

如果想知道更多有關 Docker 的產品,請瀏覽我們的產品資訊