首頁 > 軟體

製作Docker映象

2020-06-16 17:23:11

編寫DockerFile

這個DockerFile是一個製作映象的配方,用於描述這些檔案,環境,和命令。在Linux、macOS的視窗終端中,或者windows的命令提示字元下,執行下面的步驟,切記如果你使用的是macOS或者windows,你依然建立的是執行在Linux下的映像。

  1. 建立一個目錄,在windows下使用md命令:
    $ mkdir mydockerbuild

    PS:構造映象所需的所有東西都放在這個資料夾中。

  2. 切換到mydockerbulid目錄中:
    $ cd mydockerbulid
  3. 在當前目錄中,建立編輯Dockerfile文字檔案:
    $ nano Dockerfile
  4. 複製下面這行,在檔案中新增From 語句:
    From docker/whalesay:lastet

    PS:這個From 關鍵字告訴Docker你的映像是基於哪個映像。

  5. 新增RUN 語句來在映像中安裝fortunes程式:
    RUN apt-get -y update && apt-get install -y fortunes


    這個whalesay映像是基於Ubuntu的,使用apt-get進行安裝包。這兩個命令用來重新整理映像可用的包列表並安裝fortunes程式,用來輸出名言警句。

  6. 新增CMD 命令,這個告訴映像在它的環境被建立後,執行的命令,這個命令執行 fortune -a 且把它的輸出傳入cowsay程式。
    CMD /usr/games/fortune -a | cowsay
  7. 驗證,你的檔案應該像這樣:
    FROM docker/whalesay:latest
    RUN apt-get -y update && apt-get install -y fortunes
    CMD /usr/games/fortune -a | cowsay

     

從Dockerfile中建立Image

當你mydockerbulid目錄,使用docker bulid命令建立image,-t 引數來給你映像一個標籤,因此之後你可以更容易地執行它。不要忘記.命令,這表示該命令是在當前命令來查詢Dockerfile檔案。

PS:使用docker images 就可以看到我們新建立的映像。

$ docker build -t docker-whale .

Sending build context to Docker daemon 2.048 kB
...snip...
Removing intermediate container cb53c9d09f3b
Successfully built c2c3152907b5

關於bulid構建過程

  1. Docker檢查並確保它有它構建所需要的一切,這會生稱下面這條資訊:
    Sending build context to Docker daemon 2.048 kB
  2. Docker檢查whalesay映像是否在本地安裝,如果沒有從Hub上進行獲取。對應Dockerfile的FROM 語句,將會生成這樣的訊息:
    Step 1 : FROM docker/whalesay:latest
     ---> 6b362a9f73eb

    PS:執行每個步最後,將會列印ID,Dockerfile每一行對應於映像的每一圖層,這個ID是每一步驟建立的圖層。

  3. Docker啟動臨時容器來執行whalesay映像。在臨時容器中,Docker執行Dockerfile中下一個命令,即RUN命令,用於安裝fortune程式,當RUN命令完成時,將建立一個新圖層,刪除中間容器。
  4. 建立一個新的中間容器,Docker為Dockerfile中CMD行新增一個層,並刪除中間容器。

執行新構建的映像

docker run docker-whale

更多Docker相關教學見以下內容

Docker安裝應用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm

Ubuntu 14.04安裝Docker  http://www.linuxidc.com/linux/2014-08/105656.htm

Ubuntu使用VNC執行基於Docker的桌面系統  http://www.linuxidc.com/Linux/2015-08/121170.htm

阿里雲CentOS 6.5 模板上安裝 Docker http://www.linuxidc.com/Linux/2014-11/109107.htm

Ubuntu 15.04下安裝Docker  http://www.linuxidc.com/Linux/2015-07/120444.htm

在Ubuntu Trusty 14.04 (LTS) (64-bit)安裝Docker http://www.linuxidc.com/Linux/2014-10/108184.htm

在 Ubuntu 15.04 上如何安裝Docker及基本用法 http://www.linuxidc.com/Linux/2015-09/122885.htm

Ubuntu 16.04上Docker使用手記 http://www.linuxidc.com/Linux/2016-12/138490.htm


IT145.com E-mail:sddin#qq.com