Prechádzať zdrojové kódy

feat: 前端 Dockerfile 改为多阶段构建,支持服务器直接 git clone 部署

Hugvvn 1 mesiac pred
rodič
commit
8b7d773317
3 zmenil súbory, kde vykonal 20 pridanie a 7 odobranie
  1. 4 0
      .dockerignore
  2. 14 5
      Dockerfile
  3. 2 2
      nginx.conf

+ 4 - 0
.dockerignore

@@ -0,0 +1,4 @@
+node_modules/
+dist/
+.git/
+.gitignore

+ 14 - 5
Dockerfile

@@ -1,11 +1,20 @@
+# ============ 构建阶段 ============
+FROM node:18-alpine AS builder
+
+WORKDIR /app
+
+COPY package.json package-lock.json ./
+RUN npm config set registry https://registry.npmmirror.com && npm install
+
+COPY . .
+RUN npx vite build
+
+# ============ 运行阶段 ============
 FROM nginx:alpine
 
-# 复制 nginx 配置
 COPY nginx.conf /etc/nginx/conf.d/default.conf
+COPY --from=builder /app/dist /usr/share/nginx/html/
 
-# 复制前端构建产物
-COPY dist/ /usr/share/nginx/html/
-
-EXPOSE 80
+EXPOSE 9007
 
 CMD ["nginx", "-g", "daemon off;"]

+ 2 - 2
nginx.conf

@@ -1,5 +1,5 @@
 server {
-    listen 80;
+    listen 9007;
     server_name localhost;
 
     # 前端静态文件
@@ -10,7 +10,7 @@ server {
 
     # API 代理到后端
     location /api/ {
-        proxy_pass http://backend:8000;
+        proxy_pass http://127.0.0.1:8007;
         proxy_set_header Host $host;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;