12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- # 设置基础镜像
- FROM node:21.7.3-alpine3.20 as build-stage
- # 定义作者
- LABEL maintainer=Zenas
- #创建一个工作目录
- WORKDIR /app
- # 复制package.json文件和package-lock.json文件到容器工作目录
- COPY . /app
- # 安装项目依赖
- RUN yarn install
- # 构建前端项目
- RUN yarn build
- # production stage
- FROM nginx as production-stage
- #COPY --from=build-stage ./dist /usr/share/nginx/html
- RUN echo "server { \
- listen 80; \
- location /shop-api/ { \
- proxy_pass http://69.230.201.115:8080/shop-api/; \
- proxy_redirect off; \
- proxy_set_header Host http://69.230.201.115:8080; \
- proxy_set_header X-Real-IP \$remote_addr; \
- proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for; \
- } \
- #解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题 \
- location / { \
- root /var/www/html/; \
- index index.html index.htm; \
- if (!-e \$request_filename) { \
- rewrite ^(.*)\$ /index.html?s=\$1 last; \
- break; \
- } \
- } \
- access_log /var/log/nginx/access.log ; \
- } " > /etc/nginx/conf.d/default.conf \
- && mkdir -p /var/www \
- && mkdir -p /var/www/html
- ADD /app/dist/ /var/www/html/
- # 暴露镜像端口
- EXPOSE 80
- EXPOSE 443
- CMD ["nginx","-g","daemon off"]
|