# 构建并部署新版本(自动使用时间戳版本)
./docker-manager.sh deploy
# 查看状态
./docker-manager.sh status
# 查看日志
./docker-manager.sh logs
# 回滚到上一版本
./docker-manager.sh rollback- 时间戳版本:使用
yyyyMMddHHmm格式(如:202412151430) - 自动模型缓存:映射本地
~/.cache/modelscope/hub/models/iic目录 - 智能清理:自动保留最新3个版本
- 快速回滚:支持一键回滚到任意版本
-
懒加载模式(推荐用于开发环境):
export LAZY_LOAD_MODEL=true ./docker-manager.sh deploy -
预加载模式(推荐用于生产环境):
export LAZY_LOAD_MODEL=false ./docker-manager.sh deploy
-
使用优化的Dockerfile:
# 自动切换到优化的Dockerfile source deploy-config.sh use_optimized_dockerfile
-
启用BuildKit:
export DOCKER_BUILDKIT=1 ./docker-manager.sh deploy
./docker-manager.sh deploy # 构建新版本并部署(使用当前时间戳)
./docker-manager.sh rollback # 回滚到上一版本
./docker-manager.sh rollback 202412151430 # 回滚到指定时间戳版本
./docker-manager.sh versions # 查看所有可用版本./docker-manager.sh start # 启动容器(使用latest)
./docker-manager.sh start 202412151430 # 启动指定时间戳版本
./docker-manager.sh stop # 停止并删除容器
./docker-manager.sh restart # 重启容器./docker-manager.sh status # 查看完整状态
./docker-manager.sh logs # 查看日志(50行)
./docker-manager.sh logs 100 # 查看日志(100行)./docker-manager.sh cleanup # 删除所有镜像和容器(危险!)应用提供了多个监控端点:
- 健康检查:
http://localhost:8000/system/health - 就绪检查:
http://localhost:8000/system/readiness - 系统状态:
http://localhost:8000/system/status
# 检查应用是否健康
curl http://localhost:8000/system/health
# 检查模型是否已加载
curl http://localhost:8000/system/readiness
# 查看系统状态
curl http://localhost:8000/system/statusLAZY_LOAD_MODEL: 是否启用懒加载(true/false)TRANS_WORKER: 工作线程数(默认:5)TRANS_TIMEOUT: 转录超时时间(默认:120秒)MAX_QUEUE_SIZE: 最大队列长度(默认:25)MAX_FILE_SIZE: 最大文件大小(默认:50MB)
PORT: 服务端口(默认:8000)UPLOAD_DIRECTORY: 上传目录路径DOCKER_BUILDKIT: 启用Docker BuildKit(1/0)
脚本自动管理Docker镜像版本:
- 时间戳版本号:每次部署使用当前时间作为版本号
- 保留策略:自动保留最新3个版本
- 标签管理:
zh-asr:202412151430,zh-asr:202412151445等时间戳版本zh-asr:latest指向最新版本
- 时间戳格式:
yyyyMMddHHmm - 示例:
202412151430= 2024年12月15日 14:30 - 优势:
- 更好的可追溯性
- 自动按时间顺序排列
- 直观的时间信息
脚本自动映射本地ModelScope缓存目录:
# 宿主机目录
~/.cache/modelscope/hub/models/iic
# 容器内目录
/root/.cache/modelscope/hub/models/iic优势:
- 避免每次部署时重新下载模型
- 显著提高部署速度
- 节省带宽和存储空间
.docker_version: 记录当前版本号docker-manager.log: 操作日志
-
启动太慢:
# 启用懒加载 export LAZY_LOAD_MODEL=true ./docker-manager.sh deploy
-
内存不足:
# 减少工作线程 export TRANS_WORKER=2 ./docker-manager.sh deploy
-
容器无法启动:
# 查看详细日志 ./docker-manager.sh logs # 检查健康状态 ./docker-manager.sh status
-
端口冲突:
# 修改端口 export PORT=8001 ./docker-manager.sh deploy
# 查看容器详细信息
docker inspect asr
# 进入容器调试
docker exec -it asr bash
# 查看容器资源使用
docker stats asr- 使用懒加载模式
- 较小的队列大小
- 较短的超时时间
- 使用预加载模式
- 根据CPU核心数设置工作线程
- 较大的队列大小和超时时间
- 启用容器健康检查
- 最小配置:2核CPU,4GB内存
- 推荐配置:4核CPU,8GB内存
- 高性能配置:8核CPU,16GB内存