docker_streamlit_rteb / DEPLOYMENT.md
q275343119's picture
add - init
943f734
|
raw
history blame
2.37 kB

Docker 部署指南

项目概述

这是一个基于 Streamlit 的 Web 应用,提供了多语言文本处理功能。

部署方式

方式一:使用 Docker Compose(推荐)

  1. 构建并启动服务

    docker-compose up --build
    
  2. 后台运行

    docker-compose up -d --build
    
  3. 停止服务

    docker-compose down
    
  4. 查看日志

    docker-compose logs -f
    

方式二:使用 Docker 命令

  1. 构建镜像

    docker build -t streamlit-rteb .
    
  2. 运行容器

    docker run -d -p 8501:8501 --name streamlit-rteb streamlit-rteb
    
  3. 停止容器

    docker stop streamlit-rteb
    docker rm streamlit-rteb
    

访问应用

部署成功后,在浏览器中访问:

环境变量

可以通过环境变量自定义配置:

# 设置端口
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

开发模式

如果需要开发调试,可以挂载本地目录:

  1. 修改 docker-compose.yml

    volumes:
      - ./app:/app/app
      - ./utils:/app/utils
      - ./app.py:/app/app.py
    
  2. 重新启动服务

    docker-compose up --build
    

性能优化

  1. 使用多阶段构建(可选)
  2. 启用缓存:Docker 会自动缓存构建层
  3. 优化镜像大小:使用 slim 基础镜像

安全建议

  1. 生产环境:使用非 root 用户运行
  2. 网络安全:配置防火墙规则
  3. 镜像安全:定期更新基础镜像
  4. 依赖安全:定期更新 Python 依赖包