iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 14
0
Kubernetes

從Docker到Kubernetes-新手入門筆記系列 第 14

Day14-建立docker-compose development環境(下)

  • 分享至 

  • xImage
  •  

Multistep Build Process

應用程式通常有兩種版本

  • Development version
    • 通常run在dev server
    • 需要安裝dependency
    • 程式碼沒有最佳化
  • Production version
    • 另外有production server
    • 程式碼最佳化,已不需要dependency

所以製作production image通常有兩個以上的phase

第一階段產生dist之類的資料夾
第二階段用第一階段的檔案跑在production server上

在專案目錄下新增Dockerfile

# 第一階段產生dist資料夾
FROM node:alpine as distFiles 

# 指定預設/工作資料夾
WORKDIR /usr/nestapp

# 只copy package.json檔案
COPY ./package.json ./
# 安裝dependencies
RUN npm install

# copy其餘目錄及檔案
COPY ./ ./

COPY src src

# build 
RUN npm run prestart:prod



# 第二階段只需要dist資料夾,不須額外安裝web framework的dependency

FROM node:alpine

# 從第一階段的檔案copy
COPY --from=distFiles /usr/nestapp/dist /dist 

# 啟動server
CMD ["node", "dist/main.js"]

上一篇
Day13-docker-compose 建立development環境(中)
下一篇
Day15-Docker-compose 環境變數
系列文
從Docker到Kubernetes-新手入門筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言