feat(deploy): 添加docker-compose部署配置

添加部署用的docker-compose配置文件
更新容器配置,优化服务定义和网络设置
修正文档中的字段命名错误
添加.gitignore忽略.DS_Store文件
This commit is contained in:
tikkhun 2026-01-22 23:07:59 +08:00
parent d467236575
commit f7c3037c18
5 changed files with 109 additions and 15 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.DS_Store

View File

@ -1,24 +1,60 @@
version: '3.8' version: '3.8'
services: services:
mysql-container: # MySQL 服务(可选,如果需要可以取消注释)
image: mysql:8.0 # mysql:
container_name: mysql-container # 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 restart: on-failure
environment: environment:
MYSQL_ROOT_PASSWORD: root - NODE_ENV=prod
MYSQL_DATABASE: mydb # 数据库连接信息(连接到外部 MySQL 容器)
ports: - MYSQL_HOST=host.docker.internal
- "23306:3306" - MYSQL_PORT=23306
- MYSQL_USERNAME=root
- MYSQL_PASSWORD=root
- MYSQL_DATABASE=inventory
volumes: volumes:
- ./mysql/data:/var/lib/mysql - ../../API:/app
networks: working_dir: /app
- mysql-network command: sh -c "npm run dev"
ports:
- "7001:7001"
volumes: # WEB 服务
mysql-data: web:
driver: local 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: networks:
mysql-network: app-network:
driver: bridge driver: bridge

57
deploy/docker-compose.yml Normal file
View File

@ -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

View File

@ -152,7 +152,7 @@
│ │ │ │ │────│ │ │ │ │ │ │ │────│ │ │
│ │ • id │ │ • id │ │ • id │ │ │ │ • id │ │ • id │ │ • id │ │
│ │ • productId │ │ • quantity │ │ • name │ │ │ │ • productId │ │ • quantity │ │ • name │ │
│ │ • sku │ │ • productSku│ │ • address │ │ │ │ • sku │ │ • sku│ │ • address │ │
│ │ • price │ └─────────────┘ └─────────────┘ │ │ │ • price │ └─────────────┘ └─────────────┘ │
│ └─────────────┘ │ │ └─────────────┘ │
│ │ │ │

0
release.json Normal file
View File