OpenDify/Dockerfile
wenyongda 88b3259ba0 build(deployment): 优化 Docker 部署配置
- 新增 .dockerignore 文件,排除不必要的文件和目录
- 修改 Dockerfile,使用环境变量 SERVER_PORT 替代固定端口 5000
- 更新 docker-compose.yaml,添加容器名称、调整端口映射并启用自动重启
- 优化 main.py 中的 chat_completions 函数逻辑
2025-06-27 13:48:44 +08:00

26 lines
1.0 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 使用官方的 Python 基础镜像
# 推荐使用特定版本,例如 python:3.9-slim-buster更小更安全
FROM python:3.12-bookworm
# 设置工作目录,后续所有命令都将在此目录下执行
WORKDIR /app
# 将 requirements.txt 复制到工作目录,并安装 Python 依赖
# 这一步单独进行,利用 Docker 缓存机制,如果依赖不变,则不需要重新安装
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# 将所有应用代码复制到容器中
COPY . .
# 暴露 Flask 应用监听的端口
# 注意EXPOSE 只是声明端口,不会实际发布端口,需要在运行容器时进行端口映射
EXPOSE ${SERVER_PORT}
# 定义容器启动时执行的命令
# 这里使用 Gunicorn 作为生产级的 WSGI 服务器,而不是 Flask 内置的开发服务器
# 你需要先在 requirements.txt 中添加 gunicorn
# CMD ["gunicorn", "-w", "4", "-b", "0.0.0.0:5000", "app:app"]
# 如果只是测试或简单应用,也可以直接用 Flask 开发服务器
CMD ["python", "main.py"]