Difficulty: Beginner
Estimated Time: 10 minutes

在這個實驗中,了解 Docker 映像檔的建立,及其檔案系統。

##scratch scratch 是 Docker 映像檔之母,所有基礎映像檔(Base Image)都是由 scratch 所建置而成。它其實是一個空的映像檔,把所需要的環境將其檔案系統匯入到其中,使得依賴這樣檔案系統的程式可以正確運作。

##相關文件

  1. Create a base image
  2. 從映像檔產生 Dockerfile

透過這個範例,就可理解 Docker 映像檔,其實只是一個符合程式所需的檔案系統結構,也可視為執行環境所需的檔案系統。而 Docekr 容器本身應該以單一個 process 來區分,而非是一整個 VM 的角度來看待容器,而這最小化的 Node.js 程式映像檔,就只是提供必要的相關函示庫(放置於所需的目錄位置)和其程式,未包含其他不必要的檔案和作業系統的指令,所以這最小化映像檔,也無法使用 docker run -ti philipz/minimal bash 登入到容器之中。

希望這個範例,能讓各位更理解容器的運作。

Don’t stop now! The next scenario will only take about 10 minutes to complete.

Minimal Node.js Docker Image

Step 1 of 4

Just do "make"

##複製範例程式 git clone https://github.com/philipz/node_minimal

##安裝 Make 套件 sudo apt-get install make

##開始建置 先 cd node_minimal , 接著只需要 make , 執行完後查看是否有建置好的 Docker 映像檔 docker images ,這樣就建置好最小 Node.js 應用程式的 Docker 映像檔。

##確認 執行這最小 Node.js 應用程式的 Docker 映像檔, docker run -d -p 80:8000 philipz/minimal ,啟動後,請點選上方的 + 符號,選擇「Web Preview host port 80」,就可看到執行結果。

透過 docker inspect philipz/minimal | more 可以查看這映像檔的詳細資訊。