首页 > 解决方案 > 为什么 Docker 找不到 Flask 模块

问题描述

我已经创建了烧瓶应用程序并尝试对其进行码头化。它使用机器学习库,我在下载它时遇到了一些问题,所以我的 Dockerfile 有点乱,但 Image 已成功创建。

from alpine:latest

RUN apk add --no-cache python3-dev \
&& pip3 install --upgrade pip

WORKDIR /app

COPY . /app

FROM python:3.5
RUN pip3 install gensim
RUN pip3 freeze > requirements.txt
RUN pip3 --no-cache-dir install -r requirements.txt

EXPOSE 5000

ENV PATH=/venv/bin:$PATH
ENV FLASK_APP /sentiment-service/__init__.py

CMD ["python","-m","flask", "run", "--host", "0.0.0.0", "--port", "5000"]

当我尝试时: docker run my_app:latest 我得到

/usr/local/bin/python: No module named flask

当然,我的 requirements.txt 文件中有 Flask==1.1.1 。谢谢你的帮助!

标签: pythonbashdockerflask

解决方案


问题在这里: RUN pip3 freeze > requirements.txt

bash 中的>运算符会覆盖文件的内容。如果要附加到requirements.txt,请考虑使用>>运算符:

RUN pip3 freeze >> requirements.txt


推荐阅读