nex_design/Dockerfile

41 lines
801 B
Docker

# 构建阶段
FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/node:18-slim AS builder
WORKDIR /app
# 复制 package 文件
COPY package*.json ./
COPY yarn.lock ./
# 安装依赖
RUN yarn install --frozen-lockfile
# 复制源代码
COPY . .
# 构建项目
RUN yarn build
# 生产阶段
FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/node:18-slim
WORKDIR /app
# 使用国内源
RUN npm config set registry https://registry.npmmirror.com
# 安装 PM2 和 serve
RUN npm install -g pm2 serve
# 从构建阶段复制构建产物
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/ecosystem.config.js ./ecosystem.config.js
# 创建日志目录
RUN mkdir -p logs
# 暴露端口
EXPOSE 3000
# 使用 PM2 启动应用
CMD ["pm2-runtime", "start", "ecosystem.config.js"]