From f7c3037c18c4976969cad8b752f8145f36e152ef Mon Sep 17 00:00:00 2001 From: tikkhun Date: Thu, 22 Jan 2026 23:07:59 +0800 Subject: [PATCH] =?UTF-8?q?feat(deploy):=20=E6=B7=BB=E5=8A=A0docker-compos?= =?UTF-8?q?e=E9=83=A8=E7=BD=B2=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加部署用的docker-compose配置文件 更新容器配置,优化服务定义和网络设置 修正文档中的字段命名错误 添加.gitignore忽略.DS_Store文件 --- .gitignore | 1 + container/docker-compose.yml | 64 ++++++++++++++++++++++++++++-------- deploy/docker-compose.yml | 57 ++++++++++++++++++++++++++++++++ docs/项目概览/技术架构图.md | 2 +- release.json | 0 5 files changed, 109 insertions(+), 15 deletions(-) create mode 100644 .gitignore create mode 100644 deploy/docker-compose.yml create mode 100644 release.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e43b0f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store diff --git a/container/docker-compose.yml b/container/docker-compose.yml index d70b153..f9abdcd 100644 --- a/container/docker-compose.yml +++ b/container/docker-compose.yml @@ -1,24 +1,60 @@ version: '3.8' services: - mysql-container: - image: mysql:8.0 - container_name: mysql-container + # MySQL 服务(可选,如果需要可以取消注释) + # mysql: + # image: mysql:8.0 + # container_name: mysql-container + # restart: on-failure + # environment: + # MYSQL_ROOT_PASSWORD: root + # MYSQL_DATABASE: mydb + # ports: + # - "3306:3306" + # volumes: + # - mysql-data:/var/lib/mysql + # networks: + # - app-network + + # API 服务 + api: + image: node:22-alpine + container_name: api-container restart: on-failure environment: - MYSQL_ROOT_PASSWORD: root - MYSQL_DATABASE: mydb - ports: - - "23306:3306" + - NODE_ENV=prod + # 数据库连接信息(连接到外部 MySQL 容器) + - MYSQL_HOST=host.docker.internal + - MYSQL_PORT=23306 + - MYSQL_USERNAME=root + - MYSQL_PASSWORD=root + - MYSQL_DATABASE=inventory volumes: - - ./mysql/data:/var/lib/mysql - networks: - - mysql-network + - ../../API:/app + working_dir: /app + command: sh -c "npm run dev" + ports: + - "7001:7001" -volumes: - mysql-data: - driver: local + # WEB 服务 + web: + image: nginx:alpine + container_name: web-container + restart: on-failure + volumes: + - ../../WEB/dist:/usr/share/nginx/html + - ../../WEB/nginx.conf:/etc/nginx/conf.d/default.conf + ports: + - "8080:80" + depends_on: + - api + networks: + - app-network + +# volumes: +# mysql-data: +# driver: local networks: - mysql-network: + app-network: driver: bridge diff --git a/deploy/docker-compose.yml b/deploy/docker-compose.yml new file mode 100644 index 0000000..0a9c335 --- /dev/null +++ b/deploy/docker-compose.yml @@ -0,0 +1,57 @@ +version: '3.8' + +services: + # MySQL 服务(可选,如果需要可以取消注释) + # mysql: + # image: mysql:8.0 + # container_name: mysql-container + # restart: on-failure + # environment: + # MYSQL_ROOT_PASSWORD: root + # MYSQL_DATABASE: mydb + # ports: + # - "3306:3306" + # volumes: + # - mysql-data:/var/lib/mysql + # networks: + # - app-network + + # API 服务 + api: + image: container-api:latest + container_name: api-container + restart: on-failure + environment: + - NODE_ENV=prod + # 数据库连接信息(连接到外部 MySQL 容器) + - MYSQL_HOST=host.docker.internal + - MYSQL_PORT=23306 + - MYSQL_USERNAME=root + - MYSQL_PASSWORD=root + - MYSQL_DATABASE=inventory + ports: + - "7001:7001" + networks: + - app-network + + # WEB 服务 + web: + image: container-web:latest + container_name: web-container + restart: on-failure + environment: + - NODE_ENV=prod + ports: + - "8080:80" + depends_on: + - api + networks: + - app-network + +# volumes: +# mysql-data: +# driver: local + +networks: + app-network: + driver: bridge diff --git a/docs/项目概览/技术架构图.md b/docs/项目概览/技术架构图.md index a301ba5..02b5eb1 100644 --- a/docs/项目概览/技术架构图.md +++ b/docs/项目概览/技术架构图.md @@ -152,7 +152,7 @@ │ │ │ │ │────│ │ │ │ │ • id │ │ • id │ │ • id │ │ │ │ • productId │ │ • quantity │ │ • name │ │ -│ │ • sku │ │ • productSku│ │ • address │ │ +│ │ • sku │ │ • sku│ │ • address │ │ │ │ • price │ └─────────────┘ └─────────────┘ │ │ └─────────────┘ │ │ │ diff --git a/release.json b/release.json new file mode 100644 index 0000000..e69de29