liuq 4 kuukautta sitten
vanhempi
commit
115b27e04e
4 muutettua tiedostoa jossa 107 lisäystä ja 1 poistoa
  1. 11 0
      .dockerignore
  2. 21 0
      Dockerfile
  3. 52 1
      README.md
  4. 23 0
      docker-compose.yml

+ 11 - 0
.dockerignore

@@ -0,0 +1,11 @@
+node_modules
+dist
+.git
+.gitignore
+*.md
+.DS_Store
+*.log
+.env
+.vscode
+.idea
+

+ 21 - 0
Dockerfile

@@ -0,0 +1,21 @@
+# 使用 Node.js 官方镜像
+FROM node:18-alpine
+
+# 设置工作目录
+WORKDIR /app
+
+# 复制 package.json 和 package-lock.json
+COPY package*.json ./
+
+# 安装依赖
+RUN npm install
+
+# 复制项目文件
+COPY . .
+
+# 暴露端口
+EXPOSE 8888 8889
+
+# 启动命令(使用 concurrently 同时启动前端和后端)
+CMD ["npm", "run", "dev:all"]
+

+ 52 - 1
README.md

@@ -46,6 +46,28 @@ npm install
    如果不配置,将使用默认值(admin/admin123)
    如果不配置,将使用默认值(admin/admin123)
 
 
 3. 启动开发服务器:
 3. 启动开发服务器:
+
+   **方式一:使用 Docker Compose(推荐,最简单)**
+   ```bash
+   # 启动服务(后台运行)
+   docker-compose up -d
+   
+   # 查看日志
+   docker-compose logs -f
+   
+   # 停止服务
+   docker-compose down
+   ```
+   启动后访问:
+   - 前端:http://localhost:8888
+   - 后端:http://localhost:8889
+
+   **方式二:使用批处理脚本(Windows)**
+   ```bash
+   start-dev.bat
+   ```
+
+   **方式三:使用 npm 命令**
    - 仅启动前端:`npm run dev`
    - 仅启动前端:`npm run dev`
    - 同时启动前端和后端:`npm run dev:all`
    - 同时启动前端和后端:`npm run dev:all`
    - 仅启动后端:`npm run server`
    - 仅启动后端:`npm run server`
@@ -190,7 +212,36 @@ serve -s dist -l 3000
 
 
 ### 方式三:Docker 部署
 ### 方式三:Docker 部署
 
 
-1. 在项目根目录创建 `Dockerfile`:
+#### 开发环境部署(使用 Docker Compose)
+
+项目已包含 `Dockerfile` 和 `docker-compose.yml` 文件,可以直接使用:
+
+```bash
+# 启动开发环境(包含前端和后端)
+docker-compose up -d
+
+# 查看日志
+docker-compose logs -f
+
+# 停止服务
+docker-compose down
+
+# 重新构建镜像
+docker-compose build
+```
+
+**端口映射:**
+- 前端:8888
+- 后端:8889
+
+**特点:**
+- 自动安装依赖
+- 支持热重载(代码修改后自动刷新)
+- 同时运行前端和后端服务
+
+#### 生产环境部署
+
+1. 在项目根目录创建生产环境 `Dockerfile`:
 ```dockerfile
 ```dockerfile
 # 构建阶段
 # 构建阶段
 FROM node:18-alpine as build
 FROM node:18-alpine as build

+ 23 - 0
docker-compose.yml

@@ -0,0 +1,23 @@
+version: '3.8'
+
+services:
+  app:
+    build:
+      context: .
+      dockerfile: Dockerfile
+    container_name: yunzhu-navigation
+    ports:
+      - "8888:8888"  # 前端端口
+      - "8889:8889"  # 后端端口
+    volumes:
+      # 挂载源代码目录以实现热重载(开发环境)
+      - .:/app
+      # 排除 node_modules,使用容器内的版本
+      - /app/node_modules
+    environment:
+      - NODE_ENV=development
+      - PORT=8889
+    restart: unless-stopped
+    stdin_open: true
+    tty: true
+