4.7 KiB
4.7 KiB
✅ 部署脚本修复完成
问题说明
原 deploy.ps1 脚本中包含中文字符,在 PowerShell 中由于编码问题导致解析错误。
解决方案
创建了两个版本的部署脚本:
1. deploy.ps1 (英文版 - 推荐)
- ✅ 纯英文提示信息
- ✅ 无编码问题
- ✅ 兼容性最好
- ✅ 功能完整
使用方法:
.\deploy.ps1
2. deploy-cn.ps1 (中文版)
- ✅ 中文提示信息
- ✅ 更详细的步骤说明
- ✅ 进度显示 [1/6], [2/6] 等
- ✅ 彩色输出
使用方法:
.\deploy-cn.ps1
脚本功能
两个脚本都包含以下功能:
- ✅ 检查 Docker 是否安装
- ✅ 检查 Docker Compose 是否安装
- ✅ 停止旧容器
- ✅ 构建 Docker 镜像
- ✅ 启动新容器
- ✅ 等待服务启动
- ✅ 显示容器状态
- ✅ 显示最近日志
- ✅ 显示访问地址
- ✅ 显示常用命令
快速开始
方式 1: 使用英文版脚本 (推荐)
# 1. 初始化数据库
mysql -h 101.132.182.216 -P 3306 -u root -p < init-database.sql
# 2. 运行部署脚本
.\deploy.ps1
# 3. 访问服务
# http://localhost:5000/swagger
方式 2: 使用中文版脚本
# 1. 初始化数据库
mysql -h 101.132.182.216 -P 3306 -u root -p < init-database.sql
# 2. 运行部署脚本
.\deploy-cn.ps1
# 3. 访问服务
# http://localhost:5000/swagger
脚本输出示例
deploy.ps1 输出:
======================================
PetWash API Docker Deployment
======================================
Stopping old containers...
Building Docker image...
Starting containers...
Waiting for service to start...
Checking container status...
======================================
Recent logs:
======================================
[日志内容]
======================================
Deployment complete!
API URL: http://localhost:5000
Swagger: http://localhost:5000/swagger
======================================
deploy-cn.ps1 输出:
======================================
PetWash API Docker 部署
======================================
[1/6] 检查 Docker...
Docker 已安装
[2/6] 检查 Docker Compose...
Docker Compose 已安装
[3/6] 停止旧容器...
完成
[4/6] 构建 Docker 镜像...
镜像构建成功
[5/6] 启动容器...
容器启动成功
[6/6] 等待服务启动...
容器状态:
[容器状态]
======================================
最近的日志:
======================================
[日志内容]
======================================
部署完成!
======================================
API 地址: http://localhost:5000
Swagger 文档: http://localhost:5000/swagger
常用命令:
查看实时日志: docker-compose logs -f petwash-api
停止服务: docker-compose down
重启服务: docker-compose restart
查看状态: docker-compose ps
其他可用脚本
check-deployment.ps1
配置验证脚本,部署前检查环境
.\check-deployment.ps1
deploy.sh
Linux/macOS 部署脚本
chmod +x deploy.sh
./deploy.sh
常用命令
# 查看容器状态
docker-compose ps
# 查看实时日志
docker-compose logs -f petwash-api
# 重启服务
docker-compose restart
# 停止服务
docker-compose down
# 重新构建
docker-compose build --no-cache
docker-compose up -d
故障排查
1. Docker 未安装
错误:
ERROR: Docker is not installed
解决: 安装 Docker Desktop
2. 脚本执行策略错误
错误:
无法加载文件,因为在此系统上禁止运行脚本
解决:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
3. 端口冲突
错误:
Port 5000 is already in use
解决:
修改 docker-compose.yml 中的端口映射
文件清单
| 文件 | 说明 | 语言 |
|---|---|---|
deploy.ps1 |
部署脚本 | 英文 (推荐) |
deploy-cn.ps1 |
部署脚本 | 中文 |
deploy.sh |
部署脚本 | Bash (Linux/macOS) |
check-deployment.ps1 |
配置验证 | 英文 |
docker-compose.yml |
容器配置 | YAML |
init-database.sql |
数据库初始化 | SQL |
相关文档
- 快速部署指南.md - 三步完成部署
- DOCKER_部署说明.md - 简明部署说明
- 部署配置完成.md - 完整配置总结
- DOCKER_DEPLOYMENT.md - 详细部署指南
总结
✅ 问题已修复 ✅ 提供两个版本的脚本 ✅ 功能完全相同 ✅ 可以正常使用
推荐使用 deploy.ps1 (英文版),兼容性最好!
现在可以开始部署了! 🚀
.\deploy.ps1