我们使用Docker创建多个ip结点,进行实验时,有一步调用了requests.get函数,结果发现超时。相关程序如下(语言为python):
response = requests.get(f'http://{node}/transactions/received',timeout = 1)
异常为:requests.exceptions.ConnectTimeout
我们创建端口使用的是flask包,该网址的定义如下:
@app.route('/transactions/received', methods=['GET'])
def received_transaction():
response = {'received_transaction': blockchain.received_transaction,}
return jsonify(response), 201
由于不用Docker,直接运行程序创建结点时执行顺利。因此推断程序无误,而是Docker配置上出现了问题。
Docker创建网络的命令大致如下:
docker run --rm -p $1001:$5000 --net blockchain1 --name node1 --ip $1.0.0.10 cjkdblockchain
不知道为什么requests.get会超时,请大家指教,谢谢!