Spaces:
Sleeping
Sleeping
Docker 部署指南
项目概述
这是一个基于 Streamlit 的 Web 应用,提供了多语言文本处理功能。
部署方式
方式一:使用 Docker Compose(推荐)
构建并启动服务
docker-compose up --build后台运行
docker-compose up -d --build停止服务
docker-compose down查看日志
docker-compose logs -f
方式二:使用 Docker 命令
构建镜像
docker build -t streamlit-rteb .运行容器
docker run -d -p 8501:8501 --name streamlit-rteb streamlit-rteb停止容器
docker stop streamlit-rteb docker rm streamlit-rteb
访问应用
部署成功后,在浏览器中访问:
- 本地访问: http://localhost:8501
- 局域网访问: http://[服务器IP]:8501
环境变量
可以通过环境变量自定义配置:
# 设置端口
export STREAMLIT_SERVER_PORT=8501
# 设置地址
export STREAMLIT_SERVER_ADDRESS=0.0.0.0
# 设置 Python 路径
export PYTHONPATH=/app
健康检查
应用内置了健康检查机制:
- 检查间隔:30秒
- 超时时间:10秒
- 重试次数:3次
- 启动等待时间:40秒
故障排除
1. 端口被占用
如果 8501 端口被占用,可以修改端口映射:
docker run -d -p 8502:8501 --name streamlit-rteb streamlit-rteb
2. 构建失败
检查 Dockerfile 和依赖文件是否正确:
docker build --no-cache -t streamlit-rteb .
3. 应用无法启动
查看容器日志:
docker logs streamlit-rteb
开发模式
如果需要开发调试,可以挂载本地目录:
修改 docker-compose.yml
volumes: - ./app:/app/app - ./utils:/app/utils - ./app.py:/app/app.py重新启动服务
docker-compose up --build
性能优化
- 使用多阶段构建(可选)
- 启用缓存:Docker 会自动缓存构建层
- 优化镜像大小:使用 slim 基础镜像
安全建议
- 生产环境:使用非 root 用户运行
- 网络安全:配置防火墙规则
- 镜像安全:定期更新基础镜像
- 依赖安全:定期更新 Python 依赖包