python-3.x - Docker 名称错误 : name 'app' is not defined

标签 python-3.x flask docker-compose dockerfile

我正在尝试用 python 制作一个 Flask 框架并尝试将其托管在 Docker 上。

#importing dependencies
from flask import Flask

#initializing the name of the application
app = Flask(__name__)

@app.route('/')

def hello(parameter_list):
    return 'Hello, this is my first try on Docker'

if __name__ == "__main__":
    app.run(host="0.0.0.0", debug= True)

我在第 5 行看到 name 'app' is not defined

NameError 我应该怎么做才能消除这个错误? 这是我第一次在这里提问,如果需要任何其他说明或对以后的帖子提出建议,请告诉我。 提前致谢

最佳答案

您在图片中显示的错误与代码似乎不匹配。重现错误的方法是将 app 传递给 flask 对象而不是 __name__

enter image description here

这里是 HelloWorld

FROM python:alpine3.7
RUN pip install flask==0.10.1
COPY . /app
WORKDIR /app
EXPOSE 5000
CMD python app.py

app.py

from flask import Flask
app = Flask(__name__)

@app.route("/")
def index():
    return "Welcome to the Data Science Learner!"

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=int("5000"), debug=True)

构建

docker build -t flask-test .

运行

docker run -it --rm flask-test

您可以将其与 Docker compose 一起使用,

docker-compose rm -f && docker-compose up --build

关于python-3.x - Docker 名称错误 : name 'app' is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58829152/

相关文章:

docker - Docker 消息是否为 : "Ignoring unsupported options: restart" mean the restart policy is ignored?

Docker:从容器访问主机上的服务

python - 在Python中计算两个数字之间不匹配、共享的数字

python - 在 Python 3 中创建自动委托(delegate)包装类

python-3.x - 由于使用 Docker 的 PostgresDB 连接失败,无法启动 Apache Superset

python - flask + SQLAlchemy : Class not Iterable

python - PyMongo Flask 应用程序缓慢

python - 如何单元测试 Flask websocket 服务器 (Flask-SocketIO)

bash - Docker-Compose:Bash 命令替换

python - 为什么 pycharm 对类或函数之外的 None 给出 "expected type"警告?