Flask Docker容器表示无法找到模块“ Flask”

时间:2019-01-30 02:24:46

标签: python docker flask

这是我的DockerFile:

FROM ubuntu:latest

RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential

COPY . /app
ENV HOME=/app
WORKDIR /app


RUN pip install -r requirements.txt


EXPOSE 8000

ENTRYPOINT ["gunicorn", "-b", "0.0.0.0:8000", "-w", "4", "app:app"]

一切运行顺利,我在日志中看到所有模块都通过以下方式安装:

pip install -r requirements.txt

但是我每次跑步:

docker start -ai backend

它出错并说:

Traceback (most recent call last):
  File "app.py", line 1, in <module>
    from backend import app
  File "/app/backend/__init__.py", line 1, in <module>
    from flask import render_template, Flask
ImportError: No module named flask

编辑:我的requirements.txt文件具有所需的模块,我可以从命令行运行gunicorn命令,并且可以完美启动服务器。

Requirements.txt文件:

certifi==2018.4.16
chardet==3.0.4
click==6.7
Flask==0.12.2
Flask-Cors==3.0.7
Flask-MySQL==1.4.0
gunicorn==19.7.1
idna==2.6
itsdangerous==0.24
Jinja2==2.10
MarkupSafe==1.0
PyMySQL==0.9.3
requests==2.18.4
six==1.12.0
urllib3==1.22
Werkzeug==0.14.1

编辑#2

我发现这样做:

sudo docker run -it backend:latest bash

使其工作,但我无法访问该网站。

1 个答案:

答案 0 :(得分:0)

尝试pip freeze并检查您的环境中是否安装了Flask。您使用的是Python 2还是Python 3?我建议您使用pip3运行。因此,请尝试使用pip3 install -r requirements.txt