连接被重置在烧瓶networking应用程序

==========

大家好!

我实际上是物联网领域的学徒,我正在学习如何将应用程序(目前的python和js)集成到一些服务上,例如cloudfoundry或者docker。

我遇到了一个Docker的问题,我按照正式的Docker教程来部署一个Web应用程序(幸运的是一个python / flask一个:D),但是当我试图部署我的应用程序,当我来到连接部分失败,并回复“连接被重置“

代码:导入json导入线程导入线程导入io

from flask import Flask, render_template, request from flask_socketio import SocketIO # Global variables app = Flask(__name__) lock = threading.Semaphore(0) IOCReplay.lock = lock async_mode = None socketio = SocketIO(app) IOCReplay.socketio = socketio @app.route("/") def root(): return render_template('index.html') @app.route("/dependencies") def getDependencies(): data = '' with open('./dependencies.json') as data_file: data = json.load(data_file) return json.dumps(data) if __name__ == "__main__": socketio.run(app, port=5000) 

在bash上

 docker run -d -P guitest:1 6d95689601b8(...) docker ps CONTAINER ID IMAGE COMMAND 6d95689601b8 guitest:1 "python test.py" CREATED STATUS PORTS NAMES 4 seconds ago Up 2 seconds 0.0.0.0:32771->5000/tcp loving_boyd 

============== Dockerfile:好的

所以当我login到0.0.0.0:32771它说:“连接已重置”

我从docker FAQ中看到,为了纠正这个问题,我必须“在[my]本地主机上更改服务configuration,以便服务接受来自所有IP的请求”

这是我在堆栈溢出的第一个问题,所以如果我犯了一个错误,或者我有点困惑,或者我的英文是垃圾,我很抱歉告诉我如何提高自己!

感谢您的时间,祝您2017年好! 🙂


话题的演变

好吧,它看起来像是从我的代码有一个问题(因为从教程的培训/ Web应用程序正在工作,我怀疑可能的本地主机冲突),但我甚至不知道我在说什么哈哈哈哈哈哈

它看起来像flask-socketio是有点棘手的参数,所以我取而代之的是:从导入osimport烧瓶,render_template,来自flask_socketio的请求import SocketIO

 @app.route('/') def hello(): return render_template('index.html') if __name__ == '__main__': # Bind to PORT if defined, otherwise default to 5000. port = int(os.environ.get('PORT', 5000)) socketio.run(app, host='0.0.0.0', port=port) 

我也删除了所有的导入(线程,JSON,其他.py调用等),现在,至less,它显示了一个非function的GUI

我想我会让这个话题,因为我认为这个问题会再次显示,因为我会导入exception的东西,如线程或数据库连接@ _ @

好吧,我已经解决了我所有的问题! :D我的经理会很开心哈哈谢谢@ n2o

所以是的问题是不正确的参数socketio.run(应用程序)

我重新发布了更正

以前:

 from flask import Flask, render_template, request from flask_socketio import SocketIO # Code here # if __name__ == "__main__": socketio.run(app, port=5000) 

固定:

 import os from flask import Flask, render_template, request from flask_socketio import SocketIO # code here # if __name__ == "__main__": port = int(os.environ.get('PORT', 5000)) socketio.run(app, host='0.0.0.0', port=port)