【发布时间】:2020-11-11 07:24:29
【问题描述】:
我有2个dockerized flask应用,应用可以在以下地址访问
应用 #1
0.0.0.0:5001 [GET]
0.0.0.0:5001/ep [POST]
应用 #2
0.0.0.0:6004 [GET]
0.0.0.0:6004/ep [POST]
App #2 在0.0.0.0:5001/ep 地址上向App #1 发出发帖请求
问题是我可以轻松地向两个应用程序发出 GET 请求,我也可以成功地向 App #2 发出 POST 请求,但 App #2 无法在 0.0.0.0:5001/ep 向 App #1 发出 POST 请求(错误如下所述)即使容器运行没有任何错误
ConnectionError: HTTPConnectionPool(host='0.0.0.0', port=5001): url: /ep 超出最大重试次数(由 NewConnectionError('
引起): 无法建立新的连接:[Errno 111] 连接被拒绝',))
下面是 Flask Applications app.py的代码
应用 #1
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/')
def index():
return jsonify('App1')
@app.route('/ep', methods = ['POST'])
def ep():
data = {}
# code for receiving data
# processing data and saving results in dictionary
return jsonify(data)
if __name__ == '__main__':
app.run(host='0.0.0.0', debug=True)
应用 #2
from flask import Flask, request, jsonify
import requests
app = Flask(__name__)
@app.route('/')
def index():
return jsonify('App2')
@app.route('/ep', methods = ['POST'])
def ep():
data = {}
res = requests.post('http://0.0.0.0:5001/ep', files = data)
res = res.json()
return jsonify(data)
if __name__ == '__main__':
app.run(host='0.0.0.0', debug=True)
任何建议都会很有帮助
【问题讨论】:
-
展示您的一个应用如何连接到另一个应用,并展示您如何启动容器。
-
@AlexeyR。您好,我将它们作为独立容器运行,这是我正在使用的一些 docker 文件和命令dropbox.com/sh/uitb6n1l0nbritk/AAD6kxDnjihSrS8oIFIlUXLya?dl=0
标签: python python-3.x docker flask