什麼是Container?
· 2 min read
Container 是一種作業系統虛擬化的形式,一個Container 內包含所有必要的執行檔、二進制檔、Library和Configuration,但相轉於傳統的虛擬化,Container 不包含作業系統內核,造就了它更輕巧,也更容易攜帶與部署。
Container 優點
Container 的環境獨立性,讓它能方便的在多環境中建置、測試、部署,不需要另外安裝或設定應用程式的依賴程序,也代表它能在任何的設備上輕鬆執行。
Container 的優點包括:
- 運行成本更低
- 攜帶性更高
- 確保環境一致性與隔離性
- 部署效率更高
- 更好的應用程式生命週期
Container 與Docker 的關聯
由於運行Container 是依賴於container runtime,而Docker Engine 就是一種container runtime,只要任何有安裝Docker Engine 的實體機器或虛擬化機器,都可以輕松的執行Container。
容器和虛擬機的比較
Container

Container 是應用層的抽象,將程式碼和依賴項目打包成映像檔,可與其它多個容器同時執行在同一台機器,並共用操作系統內核,但Container 間不會相互影響。
Container 比虛擬機佔用更少的空間,可以處理更多的應用程式並使用更少的虛擬機和操作系統。
Virtual Machines

虛擬機(Virtual Machine)是將一台實體機器變成多台虛擬機器的物理硬件的抽象。
每個虛擬機都包含操作系統、應用程式、必要的二進制檔和Library,通常容量佔用幾十 GB,啟動速度與相比容器來得慢。
以上粗略的說明什麼是Container(容器)與Container Runtime,以及Container 與Virtual Machine 的比較,
接下來會圍繞著Docker 做一系列的說明與介紹。
