1. Docker介紹
- Docker由dotCloud公司發起的一個內部項目,后來Docker火了,dotCloud公司改名為Docker了;
- Docker使用了Go語言開發,基於 Linux 內核的 cgroup,namespace,以及 AUFS 類的 Union FS 等技術,對進程進行封裝隔離,屬於操作系統層面的虛擬化技術;
- Docker vs VM如下圖所示:

2. Docker的安裝
Docker現在區分Community Edition,簡稱:CE版本;Enterprise Edition,簡稱:EE。兩個版本,一個免費,一個付費。所以我們安裝的是的CE版本。安裝步驟在官方完成有詳細的的說明,這里略過。
我在DO上的服務器操作系統版本是:Ubuntu 14.04 LTS。安裝官方文檔,能順利安裝成功。
3. Docker架構

4. 運行第一個容器
運行容器可以通過兩種方式:
4.1 通過Dockerfile構建一個鏡像,上傳到Docker Hub上,然后在host主機上pull這個鏡像,運行一個容器
4.2 通過docker pull從Docker Registry上獲取一個鏡像,然后通過這個鏡像運行容易。
本文主要說明第一種情況,流程如下圖所示:

步驟1
本地機器上新建一個文件夾,創建一個Dockefile文件,創建一個dist目錄。dist放置了一個簡單的hml頁面,頁面加載了2個圖片,也就是我們前端的代碼。
Dockefile文件內容如下:
FROM nginx:1.11.5
ADD dist/ /usr/share/nginx/html
告訴Docker引擎下載Nginx 1.11.5版本的鏡像,然后復制dist文件夾內容到
/usr/share/nginx/html目錄中。
執行生成鏡像命令:
docker build -t bage88/docker-demo:0.0.1 -f Dockerfile .
bage88/docker-demo:我再Docker Hub創建的repository的名稱,必須一致,才能保證后面能正確將本地的鏡像推動的Docker Hub倉庫中。

0.0.1:鏡像的版本號。
步驟2
將生成好的鏡像推送到Docker Hub倉庫中。命令如下:
docker push bage88/docker-demo:0.0.1
步驟3
需要從Dock Hub獲取鏡像,默認未修改倉庫地址,默認都是從Docker Hub上獲取鏡像。現在我們來獲取剛推送到Docker Hub上的鏡像。命令如下:
docker pull bage88/docker-demo:0.0.1
步驟4
最后一步也是最簡單的一步,根據鏡像運行容易。
docker run -d -p 80:80 bage88/docker-demo:0.0.1
在瀏覽器中訪問地址:http://138.68.40.38/,可以看到下面的界面,表面當前的容器運行成功了。

