Docker 的主要目標是:Build, Ship and Run Any App, Anywhere
,也就是通過對應用組件的封裝、分發、部署、運行等生命周期的管理,使用戶的 APP 及其運行環境能做到一次鏡像,處處運行。
Docker 運行速度快的原因:
由于 Docker 不需要 Hypervisor(虛擬機)實現硬件資源虛擬化,運行在 Docker 容器上的程序直接使用的都是實際物理機的硬件資源,因此在 CPU、內存利用率上docker 有明顯優勢。
Docker 利用的是宿主機的內核,而不需要加載操作系統 OS 內核:
當新建一個容器時,Docker 不需要和虛擬機一樣重新加載一個操作系統內核。進而避免引尋、加載操作系統內核返回等比較耗時耗資源的過程。當新建一個虛擬機時,虛擬機軟件需要加載 OS,返回新建過程是分鐘級別的。而 Docker 由于直接利用宿主機的操作系統,則省略了返回過程,因此新建一個 docker 容器只需要幾秒鐘。
Docker 容器的本質就是一個進程。
Docker 并非一個通用的容器工具,它依賴于已經存在并運行的 Linux 內核環境。(在 Windows 上安裝 Docker 時需要依賴 WLS,也即 Windows 下的 Linux 子系統)。
Docker 是在已經運行的 Linux 下制造了一個隔離的文件環境,因此它執行的效率幾乎等同于所部署的 Linux 主機。
Docker 的基本組成部分:
- 鏡像(image)
Docker 鏡像就是一個只讀的模板。鏡像可以用來創建 Docker 容器,一個鏡像可以創建多個容器。 - 容器(container)
Docker 利用容器獨立運行