- 新增 .dockerignore 文件,排除不必要的文件和目录 - 修改 Dockerfile,使用环境变量 SERVER_PORT 替代固定端口 5000 - 更新 docker-compose.yaml,添加容器名称、调整端口映射并启用自动重启 - 优化 main.py 中的 chat_completions 函数逻辑
26 lines
1.0 KiB
Docker
26 lines
1.0 KiB
Docker
# 使用官方的 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"]
|