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'
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
- NODE_ENV=prod
# 数据库连接信息(连接到外部 MySQL 容器)
- MYSQL_HOST=host.docker.internal
- MYSQL_PORT=23306
- MYSQL_USERNAME=root
- MYSQL_PASSWORD=root
- MYSQL_DATABASE=inventory
volumes:
- ../../API:/app
working_dir: /app
command: sh -c "npm run dev"
ports:
- "23306:3306"
volumes:
- ./mysql/data:/var/lib/mysql
networks:
- mysql-network
- "7001:7001"
# WEB 服务
web:
image: nginx:alpine
container_name: web-container
restart: on-failure
volumes:
mysql-data:
driver: local
- ../../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

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 │ │
│ │ • productId │ │ • quantity │ │ • name │ │
│ │ • sku │ │ • productSku│ │ • address │ │
│ │ • sku │ │ • sku│ │ • address │ │
│ │ • price │ └─────────────┘ └─────────────┘ │
│ └─────────────┘ │
│ │

0
release.json Normal file
View File