# 第一阶段 # 使用alpine镜像,可以减少构建后docker镜像文件的体积 FROM node:14-alpine as build-stage # 设置工作目录 WORKDIR /ruoyi_ui # 先copy package.json文件到工作目录,一般我们的项目中依赖是不会变的,这样可以充分利用缓存减少部署时的构建时间 COPY package*.json /ruoyi_ui/ # 安装node_modules RUN npm config set registry=https://registry.npmmirror.com/ RUN npm install # 将所有文件copy到工作目录 COPY . /ruoyi_ui # 开始打包 RUN npm run build:prod # 第二阶段 # 拉取nginx镜像文件 FROM nginx # 这里的dist文件就是打包好的文件,project是我们上面设置的工作目录 COPY --from=build-stage /ruoyi_ui/dist /usr/share/nginx/ruoyi_ui # default.conf就是我们项目下面的nginx配置文件,我们需要copy到nginx的相应目录 COPY --from=0 /ruoyi_ui/nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]