【发布时间】:2021-08-31 19:39:00
【问题描述】:
我希望有人可以帮助我解决这个问题。当我尝试运行 docker run todolist-docker 时出现以下错误代码。
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
Error: Could not locate a Flask application. You did not provide the "FLASK_APP" environment variable, and a "wsgi.py" or "app.py" module was not found in the current directory.
我的文件夹目录在这里:
Folder name: todoflaskappfinal
__pycache__
static
templates
venv
App.py
Dockerfile
requirements.txt
todo.db
ToDoList.db
在 todoflaskappfinal 文件夹中,我有一个 Dockerfile 文件:
# syntax=docker/dockerfile:1
FROM python:3.7.8
WORKDIR /tododocker
COPY requirements.txt requirements.txt
RUN pip3 install -r requirements.txt
COPY . .
CMD [ "python3", "-m" , "flask", "run", "--host=0.0.0.0"]
在 App.py 中,我已经正确设置了所有内容(我假设),显然在这之间有更多代码。
#Website Configuration
app = Flask(__name__)
if __name__ == "__main__":
app.run(debug=True, port=5000, host='0.0.0.0')
我已经将 FLASK_APP 设置为 App.py,使用 venv 等创建了虚拟环境。当我在终端中输入 flask run 时,它会正确加载网站并显示在 127.0.0.01 上。但是,当我尝试使用docker build --tag todolist-docker 命令然后docker run todolist-docker 时,错误消息出现在上面。谁能看到我做错了什么?
【问题讨论】:
-
错误消息表明它正在寻找带有小写
a的app.py,但您似乎拥有带有大写A的App.py。修复文件名的大小写有帮助吗?你能在没有 Docker 的情况下在原生 Python 中运行这个应用程序吗?
标签: python docker flask visual-studio-code