在 Docker 上运行时 Flask 应用程序 ImportError

丹尼尔施诺尔

我有一个基本的 Flask Web 应用程序,我想在 Docker 容器中设置它。以下是我的 Dockerfile 设置:

FROM python:3.8-alpine

WORKDIR /mydir

COPY requirements.txt requirements.txt
RUN pip3 install -r requirements.txt

COPY . .
ENV FLASK_APP="app.py"

CMD [ "python3", "-m" , "flask", "run", "--host=0.0.0.0", "-p", "8080"]

构建了 docker 文件

mydir % docker build -t geode:latest .      

但是当我尝试通过 Docker 运行 Web 应用程序时,会发生这种情况:

mydir % docker run -p 8080:8080 geode:latest
 * Serving Flask app 'app.py' (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
Usage: python -m flask run [OPTIONS]
Try 'python -m flask run --help' for help.

Error: While importing 'app', an ImportError was raised.

但是,我可以使用以下命令在本地运行 Web 应用程序

mydir % python3 -m flask run --host=0.0.0.0 -p 8080

所以我不确定为什么当我通过 docker 运行它时会收到“ImportError”,但当我自己运行命令时却没有。

丹尼尔施诺尔

我不知道为什么,但重建 Docker 容器允许它正常运行......也许我在构建容器后更改的 Dockerfile 中有错字?不确定,但我正在复制我用于另一个应用程序的结构 - 原来的工作有效,而这没有。所以某处有一个错字并且重建容器工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么使用 python 而不是 Flask-CLI 运行 Flask 应用程序会产生 ImportError?

在 Docker 中运行的 Flask 应用程序找不到模板

使用 docker 和 kubernetes 运行 Flask 应用程序

Docker for Flask应用程序未运行-连接错误

Gunicorn被Flask应用程序卡在docker run命令上

Flask应用程序可在docker上运行,但不能从主机上运行

在 docker compose 上运行时无法连接到 rails 应用程序中的数据库

Flask + Docker 应用程序 - 当我运行 docker run 时容器死了

Flask应用程序记录器在Gunicorn中运行时无法正常工作

RQ 作业的 Flask 上下文(运行时错误:在应用程序之外工作)

如何为Flask应用程序使用Python3.7和Pipenv运行Docker容器?

无法使用docker-compose在其他端口中运行Python flask应用程序

如何将Flask应用程序连接到在Docker中运行的SQLite DB?

Docker 正在运行,但我无法访问 localhost - Flask 应用程序

在单个Docker容器中运行多个Flask应用程序的最佳方法

无法使用 vscode 在 docker 中运行 python flask 应用程序(来自教程)

在docker中分离运行时,Python应用程序不显示任何内容

Docker:无法启动服务应用程序:OCI运行时创建失败:

Docker上的Flask应用程序:URL超过了最大重试次数

docker上的flask应用程序中的mysql-connector-python未连接

如何让在 docker 和 gunicorn 上作为网络服务器运行的letsencrypt Flask 应用程序..?

Linux 上 .NET 核心应用程序的运行时

从Flask应用程序运行scrapy

如何运行Flask应用程序?

无限运行Flask应用程序

从FLASK应用程序运行Celery Worker

Go应用程序失败并在使用docker-compose运行时退出,但可与docker run命令配合使用

Greenlet运行时错误和Docker中已部署的应用程序不断引导所有工作程序

当不在管理器节点中运行时,Docker Service Laravel应用程序未运行