【发布时间】:2021-07-01 17:54:35
【问题描述】:
我是 Docker 新手,所以我认为我的设置有问题。
这是我的app.py(精简版):
import flask
from flask import request
from flask_cors import CORS, cross_origin
app = flask.Flask(__name__)
cors = CORS(app)
app.config['CORS_HEADERS'] = 'Content-Type'
@app.route('/', methods=['GET'])
@cross_origin()
def index():
return('Home')
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')
我的Dockerfile:
FROM python:3
WORKDIR /app
ENV FLASK_APP=app.py
COPY ./requirements.txt .
RUN pip3 install -r requirements.txt
COPY . .
CMD ["python3", "app.py"]
我正在使用 docker build -t flaskapi . 构建图像并运行
docker run --rm -it -p 80:5000 flaskapi 给出以下输出:
* Serving Flask app "app" (lazy loading)
* Environment: development
* Debug mode: on
* Running on all addresses.
WARNING: This is a development server. Do not use it in a production deployment.
* Running on http://172.17.0.2:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
在浏览器中访问localhost,一切正常,但是当尝试访问http://172.17.0.2:5000/ 或使用 Postman 进行测试时,我最终收到超时错误。我觉得这只是我在某个地方犯的一个小错误,但我看不出来。我该怎么做才能解决这个问题?
【问题讨论】: