启动网络时出错。不同虚拟机中的节点 - 连接到orderer0.tec.com:7050失败,错误:超出上下文截止时间

时间:2017-06-27 08:45:17

标签: hyperledger-fabric

我正在启动一个网络,该网络将有3个对等方和一个订购者。我有4个不同的虚拟机,每个节点一个。

我按照Hyperledger Fabric的入门手册进行操作。我执行所有步骤没有任何问题。但是,在执行以下命令InvalidateRect((HWND)winId(), NULL, TRUE); 之后,我开始得到一些错误。在我看来,上一个命令生成得很好,因为我得到以下日志:

peer channel join -b channeldemo.block

然后,在那之后,我在对等体中获得以下日志:

2017-06-27 08:26:23.247 UTC [channelCmd] executeJoin -> INFO 00a Peer joined the channel!
2017-06-27 08:26:23.247 UTC [main] main -> INFO 00b Exiting.....

但是,如果我在本地主机中启动网络,则不会收到任何错误日志。在一个Peer加入频道后,我收到以下消息(来自对等方和订货人的消息):

peer0.proveedor.com    | 2017-06-27 08:26:29.241 UTC [deliveryClient] StartDeliverForChannel -> DEBU 2d8 This peer will pass blocks from orderer service to other peers for channel canaltraza
peer0.proveedor.com    | 2017-06-27 08:26:32.242 UTC [ConnProducer] NewConnection -> ERRO 2d9 Failed connecting to orderer0.tec.com:7050 , error: context deadline exceeded
peer0.proveedor.com    | 2017-06-27 08:26:32.242 UTC [deliveryClient] connect -> ERRO 2da Failed obtaining connection: Could not connect to any of the endpoints: [orderer0.tec.com:7050]

1 个答案:

答案 0 :(得分:2)

错误是对等方的内部错误。对等方无法连接到订货人。这是因为您创建的Docker容器的默认配置。

创建docker容器时,可以定义其网络。默认情况下,您创建的容器位于桥接网络内。此网络将容器与其他主机中的其他容器隔离开来。

我将此配置更改为Host,但我没有收到错误。它很顺利。

  • 我评论了默认网络network: byfn
  • 我将属性network_mode: host添加到每个容器
  • 我定义了- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=host

我应该阅读有关docker网络的更多信息,因为还有其他可能性,例如overlay。我认为这会更好。另外,我认为使用docker-machien是一个好主意,但我还没有这样做。有关于它的更多信息here