運行第一個Docker容器-Docker for Web Developers(1)


1. Docker介紹

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

2. Docker的安裝

Docker現在區分Community Edition,簡稱:CE版本;Enterprise Edition,簡稱:EE。兩個版本,一個免費,一個付費。所以我們安裝的是的CE版本。安裝步驟在官方完成有詳細的的說明,這里略過。

我在DO上的服務器操作系統版本是:Ubuntu 14.04 LTS。安裝官方文檔,能順利安裝成功。

Docker CE for Ubuntu

3. Docker架構

Docker架構圖

4. 運行第一個容器

運行容器可以通過兩種方式:

4.1 通過Dockerfile構建一個鏡像,上傳到Docker Hub上,然后在host主機上pull這個鏡像,運行一個容器

4.2 通過docker pull從Docker Registry上獲取一個鏡像,然后通過這個鏡像運行容易。

本文主要說明第一種情況,流程如下圖所示:
Run Docker Workflow

步驟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倉庫中。

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/,可以看到下面的界面,表面當前的容器運行成功了。

第一個容器運行結果

參考資料

  1. Docker —— 從入門到實踐
  2. Docker架構詳解
  3. Docker官網


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM