注:因爲本人用的是window10系統,docker的版本是Docker Community Edition(Docker CE ).git
按官網的話說,Docker是一個世界領先的容器化平臺,它是github上開源的而且跨平臺的。github
鏡像(Image):相似於虛擬機中的鏡像,是一個包含有文件系統的面向Docker引擎的只讀模板。任何應用程序運行都須要環境,而鏡像就是用來提供這種運行環境的。例如一個Ubuntu鏡像就是一個包含Ubuntu操做系統環境的模板,同理在該鏡像上裝上Apache軟件,就能夠稱爲Apache鏡像。docker
容器(Container):相似於一個輕量級的沙盒,能夠將其看做一個極簡的Linux系統環境(包括root權限、進程空間、用戶空間和網絡空間等),以及運行在其中的應用程序。Docker引擎利用容器來運行、隔離各個應用。容器是鏡像建立的應用實例,能夠建立、啓動、中止、刪除容器,各個容器之間是是相互隔離的,互不影響。注意:鏡像自己是隻讀的,容器從鏡像啓動時,Docker在鏡像的上層建立一個可寫層,鏡像自己不變。服務器
倉庫(Repository):相似於代碼倉庫,這裏是鏡像倉庫,是Docker用來集中存放鏡像文件的地方。注意與註冊服務器(Registry)的區別:註冊服務器是存放倉庫的地方,通常會有多個倉庫;而倉庫是存放鏡像的地方,通常每一個倉庫存放一類鏡像,每一個鏡像利用tag進行區分,好比Ubuntu倉庫存放有多個版本(12.0四、14.04等)的Ubuntu鏡像。 網絡
咱們經過一個例子來講明docker的執行過程。測試
在安裝完docker之後,打開cmd,使用docker version命令查看docker版本:this
下面開始安裝第一個docker鏡像:spa
使用docker images查看鏡像列表,顯示爲空,而後安裝安裝官方hello-world鏡像進行測試。操作系統
安裝成功後能夠看到鏡像的名稱、版本、id、最後修改日期、大小blog
而後咱們來跑一下這個鏡像看docker的運行過程
注意看這裏的執行步驟:
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
1.客戶端要拉取一個鏡像時,經過docker pull 發送一條命令到本機(DOCKER_HOST)的 Docker daemon。
2. Docker daemon 會先判斷本地有沒有這個鏡像(Images),沒有的話話會去倉庫(Registry:默認的倉庫是 Docker Hub)拉取
3.Docker daemon 拿到鏡像後,會新建一個容器(container),把鏡像放進去運行
待續