應用程式的藍圖 — Dockerfile

StyleLinz
Coding Book Club
Published in
Jun 5, 2022
Photo by Sigmund on Unsplash

先前介紹過 image 的部分,即使 dockerhub 上面有各式各樣的 image,docker 也可以依照需求製作不同的 image

基本操作

我們寫個簡單的 nodejs 應用程式為例

FROM nodeWORKDIR /appCOPY . .RUN npm installCMD ["node", "app.js"]

我們來介紹上面出現的幾個關鍵字

FROM:選擇基底 image ,這裡直接使用 node,就是直接使用 docker hub 上面的 node:latest

WORKDIR:生成容器後,於容器內運行的工作資料夾,若在先前沒有產生資料夾則自動產生

COPY:將本地端( local )的檔案複製進容器內

RUN:在容器內執行特定指令

CMD:這個 image 生成 container 後執行的指令

這樣就完成一個簡單的 Dockerfile 了🎉

建置 image

但是這個 Dockerfile 還沒變成一個 image,需要先用 docker 讓這個檔案變成 image

# 用終端機在剛完成 dockerfile 的資料夾內執行這個指令
docker build -t my-image .
# 使用這個指令可以檢查看看新的 image 有沒有產生出來
docker image ls

-t 指令代表 tag ,也可以寫作 --tag ,用來給 image 一個自己認識的名字,沒有 tag 的 image 名稱會是 <none>,這個要注意~

以上就是 Dockerfile 的基礎操作(類似 print('hello world')那樣),如果想要再更深入的話可以參考下面這些資源~

--

--