36 lines
915 B
Docker
36 lines
915 B
Docker
|
# 拉取的原镜像
|
||
|
FROM node:16.19-alpine AS build
|
||
|
# 创建一个项目文件夹,可自定义
|
||
|
WORKDIR /app
|
||
|
# 将本地文件复制到项目文件夹下
|
||
|
COPY ./apps/server .
|
||
|
# 切换到淘宝镜像,安装依赖比较快
|
||
|
RUN npm set registry https://registry.npm.taobao.org
|
||
|
# 安装依赖
|
||
|
RUN npm install -g pnpm
|
||
|
RUN pnpm i
|
||
|
# 打包项目
|
||
|
RUN pnpm build
|
||
|
|
||
|
# 切换镜像文件, alpine镜像打包后更小
|
||
|
FROM node:16.19-alpine
|
||
|
# 切换工作目录
|
||
|
WORKDIR /app
|
||
|
# 将打包后的的文件复制到docker镜像里
|
||
|
COPY --from=build /app/dist ./dist
|
||
|
COPY --from=build /app/src ./src
|
||
|
COPY --from=build /app/bootstrap.js ./
|
||
|
COPY --from=build /app/package.json ./
|
||
|
|
||
|
# RUN apk add --no-cache tzdata
|
||
|
|
||
|
ENV TZ="Asia/Shanghai"
|
||
|
|
||
|
RUN npm set registry https://registry.npm.taobao.org
|
||
|
|
||
|
# 安装工程依赖
|
||
|
RUN npm install --production
|
||
|
# 设置暴露端口
|
||
|
EXPOSE 7001
|
||
|
# 启动
|
||
|
CMD ["npm", "run", "start"]
|