iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 11
0
Software Development

Microservices in Action: with example in Node.js系列 第 11

容器化 - Microservices in Action: with example in Node.js

  • 分享至 

  • xImage
  •  

說到容器化,我們就不能不提到 Docker 了,Docker 可以讓我們每個微服務都擁有自己專屬的環境。

除此之外,我們需要倚賴 Kubernetes 來做服務之間互動的大小事,所以把我們的服務包成一個容器,是非常重要的一個步驟。

Dockerfile 範例

# Image 套用的基本版本
FROM node:10.22.0-slim AS builder

# 設定環境變數
ARG NODE_ENV
ENV NODE_ENV=${NODE_ENV}
ENV NEW_RELIC_NO_CONFIG_FILE=true
ENV NEW_RELIC_APP_NAME="[${NODE_ENV}] Auth Server"
ENV NEW_RELIC_LICENSE_KEY=""

# 開啟對外的 PORT
EXPOSE 3000

# 查看環境變數設定完成後的結果
RUN env

# 將本地端的套件檔案清單更新到最新版 (非必要)
RUN apt-get update

# 安裝必要套件 (依照你的環境自行配置,非必要)
RUN apt-get install vim -y


# 切換目錄位置
WORKDIR /app

# 複製本地端的檔案到 Image 的 /app 資料夾下
COPY . .

# 安裝必要工具
RUN npm i yarn lerna -g --force

# 安裝所有相依模組
RUN yarn install

# 切換到資料夾
WORKDIR /app/packages/auth-server

# 啟動 App
CMD npm start

延伸閱讀


上一篇
共用模組化
下一篇
微服務自動擴展 - 建立 Deployment 和 Service 物件
系列文
Microservices in Action: with example in Node.js24
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言