2025-01-10 14:07:22 +08:00
|
|
|
|
FROM node:22-alpine
|
2025-01-09 16:10:19 +08:00
|
|
|
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
|
|
|
|
# 配置alpine国内镜像加速
|
|
|
|
|
RUN sed -i "s@http://dl-cdn.alpinelinux.org/@https://repo.huaweicloud.com/@g" /etc/apk/repositories
|
|
|
|
|
|
|
|
|
|
# 安装tzdata,默认的alpine基础镜像不包含时区组件,安装后可通过TZ环境变量配置时区
|
|
|
|
|
RUN apk add --no-cache tzdata
|
|
|
|
|
|
|
|
|
|
# 设置时区为中国东八区,这里的配置可以被docker-compose.yml或docker run时指定的时区覆盖
|
|
|
|
|
ENV TZ="Asia/Shanghai"
|
|
|
|
|
|
|
|
|
|
# 如果各公司有自己的私有源,可以替换registry地址,如使用官方源注释下一行
|
2025-01-10 12:53:28 +08:00
|
|
|
|
RUN npm config set registry https://registry.npmmirror.com
|
2025-01-09 16:10:19 +08:00
|
|
|
|
|
2025-01-10 13:02:23 +08:00
|
|
|
|
# 安装 pnpm 和全局依赖
|
2025-01-10 12:57:37 +08:00
|
|
|
|
RUN npm install -g pnpm
|
|
|
|
|
RUN pnpm config set registry https://registry.npmmirror.com
|
2025-01-10 13:02:23 +08:00
|
|
|
|
|
|
|
|
|
# 安装开发期依赖
|
|
|
|
|
COPY package.json ./package.json
|
|
|
|
|
RUN pnpm install
|
|
|
|
|
|
2025-01-09 16:10:19 +08:00
|
|
|
|
# 构建项目
|
|
|
|
|
COPY . .
|
2025-01-10 13:02:23 +08:00
|
|
|
|
RUN pnpm run build
|
|
|
|
|
|
2025-01-09 16:10:19 +08:00
|
|
|
|
# 删除开发期依赖
|
2025-01-10 13:02:23 +08:00
|
|
|
|
RUN rm -rf node_modules && rm pnpm-lock.yaml
|
2025-01-09 16:10:19 +08:00
|
|
|
|
# 安装生产环境依赖
|
2025-01-10 13:17:09 +08:00
|
|
|
|
RUN pnpm install --production
|
2025-01-09 16:10:19 +08:00
|
|
|
|
|
|
|
|
|
# 如果端口更换,这边可以更新一下
|
|
|
|
|
EXPOSE 8001
|
|
|
|
|
|
2025-01-10 13:02:23 +08:00
|
|
|
|
CMD ["pnpm", "start"]
|