隨着雲產品和雲服務的普及,各類各樣的相關技術開始層出不窮,Docker做爲一門熱門的技術被愈來愈多的公司和開發者所使用,本篇文章主要爲你們簡單介紹一下Docker,幫助你們理解一下Docker中經常使用的一些概念,很是適合初學者。html
Docker是一個開源的應用容器引擎,基於Go語言並聽從Apache2.0協議開源,Docker主要是對進程進行封裝隔離,屬於操做系統層面的虛擬化技術,因爲隔離的進程獨立於宿主和其它隔離的進程,所以稱其爲容器。基於Docker開發者們能夠將應用程序以及依賴包一塊兒打包到一個輕量級,可移植的容器中,而後發佈到任何流行的Linux機器和Windows Server(目前支持的Windows Server版本爲Windows 2016,Windows 2019和Windows 10)上,也能夠實現虛擬化。git
補充:針對Win7和Win8系統來講也能夠利用Docker toolbox進行安裝,docker toolbox是一個工具集,主要包含:docker
Docker CLI客戶端:用來運行Docker引擎建立鏡像和容器shell
Docker Machine: 可讓你在windows的命令行中運行docker引擎命令數據庫
Docker compose:用來運行docker-compse命令編程
Kitematic:Docker的GUI版本windows
Docker QuickStart shell:一個已經配置好Docker的命令行環境服務器
Oracle VM Virtualbox:虛擬機架構
固然目前Docker已經有了Docker for windows的專業安裝包,所以咱們主要針對最新的Docker for windows來學習。工具
Docker使用客戶端-服務器(C/S)架構模式,使用遠程API來管理和建立Docker容器。Docker容器經過鏡像(Image)來建立。容器至關因而鏡像的一個實例,容器與鏡像的關係相似於面向對象編程中對象與類的關係。
傳統虛擬機技術是虛擬出一套硬件後,在其上運行一個完整操做系統,在該系統上再運行所需應用進程;而容器內的應用進程直接運行於宿主的內核,容器內沒有本身的內核,並且也沒有進行硬件虛擬。所以容器要比傳統虛擬機更爲輕便,快捷。
Docker鏡像(Images): Docker鏡像是用來建立Docker容器的模板。Docker鏡像是一個特殊的文件系統,提供了容器運行時所需的程序,庫,資源,配置等等。Docker Image是容器的基礎,Docker容器的運行都是基於Image運行的,Docker鏡像中包含了運行環境和配置,因此Docker能夠簡化部署多種應用實例工做,好比Web應用,後臺應用,數據庫應用,大數據應用好比Hadoop集羣,消息隊列等等均可以打包成一個鏡像部署。
Docker 容器(Container): 容器是獨立運行的一個或一組應用。鏡像是靜態的定義,容器是鏡像運行時的實體。容器能夠被建立,啓動,中止,刪除,暫停等。容器的實質是進程,但與直接在宿主執行的進程不一樣,容器進程運行於屬於本身的獨立的命名空間。實際開發的過程當中你們要注意一點:容器不該該向其存儲層內寫入任何數據,容器存儲層要保持無狀態化。
Docker倉儲(Registry): Docker Registry用來保存鏡像,能夠理解爲代碼控制中的代碼倉儲。Docker Hub(https://hub.docker.com)提供了龐大的鏡像集合供使用。鏡像構建完成後,能夠很容易的在當前宿主機器上運行,可是,若是須要在其它服務器上使用這個鏡像,咱們就須要一個集中的存儲,發佈鏡像的服務,Docker Registry就是這樣的服務。一個Docker Registry中能夠包含多個倉儲(Repository),每一個倉儲能夠包含多個標籤(Tag),每一個標籤對應一個鏡像。
以上就是初學Docker時你們會遇到的概念性相關的知識,但願會對你們對Docker的學習和理解有所幫助。
相關資料:
yeasy.gitbooks.io/docker_prac…