> Docker是一個開源的容器引擎,它有助于更快地交付應用。方便快捷已經是 Docker的最大優勢,過去需要用數天乃至數周的任務,在Docker容器的處理下,只需要數秒就能完成。
# 架構

* Docker daemon( Docker守護進程):Docker daemon是一個運行在宿主機( DOCKER-HOST)的后臺進程。可通過 Docker客戶端與之通信。
* Client( Docker客戶端):Docker客戶端是 Docker的用戶界面,它可以接受用戶命令和配置標識,并與 Docker daemon通信。圖中, docker build等都是 Docker的相關命令。
* Images( Docker鏡像):Docker鏡像是一個只讀模板,它包含創建 Docker容器的說明。它和系統安裝光盤有點像,使用系統安裝光盤可以安裝系統,同理,使用Docker鏡像可以運行 Docker鏡像中的程序。
* Container(容器):容器是鏡像的可運行實例。鏡像和容器的關系有點類似于面向對象中,類和對象的關系。可通過 Docker API或者 CLI命令來啟停、移動、刪除容器。
* Registry:Docker Registry是一個集中存儲與分發鏡像的服務。構建完 Docker鏡像后,就可在當前宿主機上運行。但如果想要在其他機器上運行這個鏡像,就需要手動復制。此時可借助Docker Registry來避免鏡像的手動復制。一個 Docker Registry可包含多個 Docker倉庫,每個倉庫可包含多個鏡像標簽,每個標簽對應一個 Docker鏡像。這跟 Maven的倉庫有點類似,如果把 Docker Registry比作Maven倉庫的話,那么 Docker倉庫就可理解為某jar包的路徑,而鏡像標簽則可理解為jar包的版本號。Docker Registry可分為公有Docker Registry和私有Docker Registry。 最常用的DockerRegistry莫過于官網的Docker Hub, 這也是默認的Docker Registry。 Docker Hub上存放著大量優秀的鏡像, 我們可使用Docker命令下載并使用。