Dmi*_*iko 5 python flask docker
我无法向docker容器中的flask应用请求。它没有响应。
有我的烧瓶应用程序文件:
import json
from flask import Flask, jsonify
from flask import request
from trained_model import predict
app = Flask(__name__)
@app.route("/", methods=['POST'])
def main():
res = []
for obj in request.json:
item = str(obj['item'])
print item
predicted = predict(item)
print predicted
res.append({'item': item, 'correct': predicted})
return json.dumps({'results': res})
if __name__ == "__main__":
app.run(host='0.0.0.0')
Run Code Online (Sandbox Code Playgroud)
有我的dockerfile:
FROM tensorflow/tensorflow
# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# Bundle app source
COPY . /usr/src/app
RUN sh docker_install.sh
EXPOSE 5000
ENTRYPOINT ["python"]
CMD ["api.py"]
Run Code Online (Sandbox Code Playgroud)
有我的码头工人运行命令:
sudo docker run -p 5000:5000 -d my-image
Run Code Online (Sandbox Code Playgroud)
当我尝试发送帖子请求时,它不起作用。
小智 6
flask run --host=0.0.0.0如果您想从外部访问 Flask 服务器,则非常有用。当我在 docker 容器内运行 Flask 应用程序时,我遇到了类似的问题。虽然我修改了我的 Flask 应用程序并添加了app.run(host:'0.0.0.0')服务器正在运行,但我无法在浏览器中访问它。然后我通过提供相同的端口在外部运行 Flask 服务器o.o.o.o。
小智 5
我已经成功了flask run --host=0.0.0.0。这似乎与有所不同app.run(host='0.0.0.0'),但我不知道为什么。参见/sf/answers/3011050521/