Case 1 - Build a REACT APP Image
使用最簡單的方式建立一個 react template
1 | npm create vite@latest myweb -- --template react |

1 | # build stage |
第一階段(builder)
- 安裝套件
- 編譯前端程式
- 輸出靜態檔案

第二階段(production)
- 只留下靜態檔案
- 用 Nginx 提供服務

Dockerfile 有兩個 stage,build 過程會經過兩個 image 階段,預設最後只產出最後一個 image,builder 階段通常只是中間站,不是要部署的正式 image
最後這個 image 裡面會有:
- nginx:alpine 本身的內容
- Linux 基底環境(Alpine)
- Nginx 執行檔
- Nginx 預設設定
- 啟動 Nginx 所需的檔案
- 靜態網站檔案
從 builder 複製過來的
- index.html
- JS bundle
- CSS
- 圖片
- 其他 dist 內的靜態資源
而且這些檔案會被放到 /usr/share/nginx/html
這正是 Nginx 預設拿來對外提供靜態檔案的目錄

1 | ## -t 是 tag(標籤) 的縮寫 |
建立完成,可以用 docker image ls 確認看看是否存在

1 | ## 試跑 |

All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.



