Docker介紹(一)

Container

什麼是Container?

就像是運輸業使用貨櫃一樣隔離著不同的貨物,並透過聯結車或船隻這些不同的交通工具進行運輸,軟體業現在也漸漸使用這種Containerized的方式將程式碼、程式庫及相關的環境打包在一起,並使程式開發人員能在不同的作業系統下進行開發及部署。

Container vs. Virtual Machine (VM)

對於虛擬化的環境,我們通常會將Container與VM進行比較,雖說Container與VM都是虛擬化技術,但是兩者對於虛擬化的層面不太相同,大致上如下:

VM:

硬體層級虛擬化,主要的虛擬化是從作業系統下手,它的目標就是建立一個可執行完整作業系統的獨立環境

Container:

作業系統層級虛擬化,主要的虛擬化是直接從應用程式下手,透過Container Runtime負責與Host OS協調,省去了安裝作業系統的成本,並且將應用程式移植到不同的作業系統上也能運作

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

為什麼要Container?

Container提供了一種俐落的分工模式,當開發人員專注於應用程式邏輯與依附元件時,IT營運團隊可將注意力集中到部署與管理上,而不用擔心諸如特定軟體版本與應用程式特定設定之類的應用程式細節。此外Container是直接在作業系統層級進行虛擬化,讓多個Container可以直接在OS上運行,這表示可以啟用服務的速度較快,並且省下OS所耗費的CPU及記憶體的成本

tags: Docker Container