1. 程式人生 > 其它 >一、docker入門(概念)

一、docker入門(概念)

這段時間學習使用了docker打算整理一下,發一個docker的系列,今天從基礎的概念開始,後面會有安裝、使用、建立docker倉庫等一系列內容。

為什麼要學習docker:科技越來越發達虛擬機器出現以前,想學習很多伺服器組建的叢集,只有少部分人能有那樣的環境學習,虛擬機器的出現解決了很多人學習的環境問題,一臺效能好的計算機上可以裝很多個不同的作業系統,組成叢集的環境,但虛擬機器對硬體的依賴依然非常大,如果你要搭建一個3臺以上的伺服器組建的叢集,那麼對你的計算機硬體要求就會比較高。docker的出現可以很大程度上解決這個問題因為他需要的開銷更小,相同的硬體條件下可以幹更多的事情。還要很多原因就不一一列舉了。

一、概念

Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的映象中,然後釋出到任何流行的 LinuxWindows 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。

1:什麼事容器?

容器就是在隔離環境執行的一個程序,如果程序停止,容器就會銷燬,隔離的環境擁有自己的系統檔案、ip地址、主機名等。

注:程序是正在執行的程式

2:容器和虛擬機器的區別

虛擬機器:需要硬體的支援,需要模擬硬體,可以執行不同的作業系統,啟動時間分鐘級

例如:linux的開機流程,bios開機硬體自檢-->讀取mbr引導-->載入核心-->啟動第一個程序….

容器:不需要硬體支援,不需要模擬硬體,共用宿主機的核心,啟動時間秒級(沒有開機啟動流程)。

(1)與宿主機使用同一個核心,效能損耗小。

(2)不需要指令級模擬。

(3)容器可以在CPU核心的本地執行指令,不需要任何專門的解釋機制

(4)避免了準虛擬化和系統呼叫替換中的複雜性

(5)輕量級隔離,在隔離的同時還提供共享機制,實現容器與宿主機的資源共享。