FROM node:16-alpine AS builder WORKDIR /app COPY package.json ./ RUN npm config set registry https://registry.npmmirror.com \ && npm install COPY . . RUN npm run build FROM nginx:alpine COPY --from=builder /app/dist /usr/share/nginx/html # 线上服务沿用原有的 5000 端口;同时为 Vue 单页应用补充路由回退,避免刷新子路由时返回 404。 RUN sed -i -E 's/listen[[:space:]]+80;/listen 5000;/' /etc/nginx/conf.d/default.conf \ && sed -i '/index index.html index.htm;/a\ try_files $uri $uri/ /index.html;' /etc/nginx/conf.d/default.conf EXPOSE 5000 CMD ["nginx", "-g", "daemon off;"]