【问题标题】:Docker NameError: name 'app' is not definedDocker NameError:未定义名称“应用程序”
【发布时间】:2019-11-13 01:42:52
【问题描述】:

我正在尝试使用 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

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

【问题讨论】:

  • 您可以复制问题的回溯,而不是使用图片。这样做会对想要回答的人有很大帮助。

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


【解决方案1】:

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

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

【讨论】:

  • 我遇到了同样的问题,我在 py 文件中有一些错误,但是在修复错误并运行 docker-compose up 后仍然无法正常工作,但是当我运行 docker-compose up --build 在它开始从头开始创建构建时工作
猜你喜欢
  • 2014-08-26
  • 2011-06-26
  • 1970-01-01
  • 1970-01-01
  • 2018-01-24
  • 1970-01-01
  • 2023-03-11
  • 2021-04-15
相关资源
最近更新 更多