2018 Cloud Computing Homework - Dock Install with Linux Ubuntu 16.04 on virtual box

2018 Cloud Computing Homework - Dock Install with Linux Ubuntu 16.04 on virtual box 

先在 ubuntu上安裝好 docker,再來利用docker快速佈署一個伺服器,並且將此伺服器的網頁利用 volumes同步到另一個伺服器,讓兩個伺服器可以同步更動。最後成果請將 dockerimage以及 dockercontainer列出來,並且將 web內容改為”cloudcomputing_學號

Docker Install Step:


1.把使用者最高權限的管理者帳號為 root,也稱為超級使用者(superuser)帳號,這個帳號在使用上沒有任何限制,管理者只要取得這個帳號就可以對系統進行各種變更,例如格式化與掛載硬碟、新增或刪除使用者帳號、更改各種系統服務、更新系統等

  指令: sudo su




2.剛裝好之後有很多套件尚未更新,因此我們可以使用Ubuntu內建的apt-
  get update 指令來完成更新。

  指令: sudo apt-get update



3. Ubuntu 上,可用以用 apt-get 指令就可以安裝到 docker 這個套件.

    指令: sudo apt-get install docker.io -y






4.為了避免在運行docker命令的時候使用sudo,創建一個叫dockerUnix組,並將用戶添加
   進來。添加用戶到docker組。

   指令: sudo usermod -G dock -a $USER




5.創建一個docker群組
     
   指令: newgrp docke



6.測試一下是否安裝成功

   指令:sudo docker info



7. 建立本機共享目錄,並建立首頁內容為 cloud computing_學號

     指令:mkdir ~/storge/

                 vim ~/storage/index.html



建立首頁內容為 cloud computing_學號 : cloud computing – 506411022

直接檢視 index.html檔案內容 指令:cat index.html




8.Dockerfile 就是描述如何產生客製化的 image, 只是採用 code 形式描述。

   我們透過文字編輯器,來新建一個 Dockerfile 的檔案,這個檔案主要是用來設定 Docker 
   容器的細節。

   撰寫Dockerfile 的內容為 Ubuntu 16.04 虛擬機上安裝 Apache並且打開 Port 80

 

 FROM ubuntu:16.04

 RUN apt-get update && apt-get install -y apache

 EXPOSE 80

 ENTRYPOINT ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]


以上的 Dockerfile 主要有用到的指令說明如下:


  FROM: 使用到的 Docker Image名稱。今天使用  Ubuntu OS

  RUN: RUN指令後面放Linux指令,用來執行安裝和設定這個 Image需要東西

  EXPOSE: 設定Docker 伺服器容器對外的埠號,供外界使用。

  ENV: 用來設定環境變數。





9.我們就可以透過 build 的指令來建立新的image
利用 Dockerfile 建立 docker imageimage 名稱為 web

   指令: sudo docker build -t web



10. 完成之後我們可以透過等下指令列出 docker images 資訊 。

        指令:sudo docker images




11.使用以下的指令啟動了 2 Container

     指令:docker run -v ~/storage:/var/www/html -p 121:80 -d web

             docker run -v ~/storage:/var/www/html -p 122:80 -d web



   指令說明如下:

     docker run: 標準的 Docker 建立 Container並執行指令。

     -v: 掛載點。

     /mnt/xxx: :目前 local 環境目錄。

     /mnt: Container 目錄。

    -p 121:80: 把裡面,第一個 docker container80 port 導至本機的 121 port。   

    -p 122:80: 把裡面,第一個 docker container80 port 導至本機的 122 port。   

    -d: 背景執行。

    web: docker image




12.列出所有 Docker 容器的資訊。

 

     指令:docker ps




13.兩個 docker container 同步網頁,web 內容完全同步到 storage 資料夾
     (學習 volume 的應用) (另外 run 一個 container,第一個 docker 共用同一個 volume) 



留言

熱門文章