第一次生成 Dockerfile,尝试用 dfimage 的方案提取 Dockerfile 的方案失败后,自己简单写出了这个 Dockerfile 模板,语法不再赘述,如果是简单的 Flask 应用,生成 requirements.txt,然后替换 COPY 部分后可以直接使用。
然后是 Gunicorn 和 Flask 的日志融合问题,尤其是访问日志的融合,别走弯路了。
文件代码:
# 基于 python3.7 构建
FROM python:3.7
# 应用代码根目录
WORKDIR /root/data_micro_services
# 安装依赖
# requirements.txt 来自于开发使用的虚拟环境: pip3 freeze > requirements.txt
COPY requirements.txt ./
RUN pip install --upgrade pip -i https://pypi.douban.com/simple
RUN pip install -r requirements.txt -i https://pypi.douban.com/simple
# 拷贝工程文件
COPY config.py ./
COPY app.py ./
COPY admin.py ./
COPY dao.py ./
COPY schemas.py ./
COPY bp_factory.py ./
COPY data_accessor.py ./
COPY task_executor.py ./
COPY tmpl/access_bp.py.tmpl ./tmpl/
COPY tmpl/api_bp.py.tmpl ./tmpl/
COPY tmpl/task_bp.py.tmpl ./tmpl/
# 为了创建空目录 bp_lib 和 user_lib,故意放了两个 demo 文件到目录里面
COPY bp_lib/bp_demo.py ./bp_lib/
COPY user_lib/task_demo.py ./user_lib/
# ENV LA

本文介绍了如何编写Dockerfile构建Python应用,并解决了Gunicorn与Flask日志整合的问题,分享了访问日志的正确配置方法。
最低0.47元/天 解锁文章
943

被折叠的 条评论
为什么被折叠?



