使用Docker工具箱的Hyperledger Fabric v0.6

问题描述:

我在Windows上使用Docker Toolbox来运行Hyperledger Fabric v0.6。 Peer和CA已成功启动。 当我运行以下命令:使用Docker工具箱的Hyperledger Fabric v0.6

CORE_CHAINCODE_ID_NAME=mycc CORE_PEER_ADDRESS=0.0.0.0:7051 ./chaincode_example02. 

结束与错误:

“错误试图连接到本地同行:GRPC:超时时 拨号”

我将0.0.0.0:7051更改为dockerfile_vp0_1,172.17.0.3 :7051的内部IP,但我最终得到相同的错误。

我按照https://github.com/hyperledger/fabric/blob/v0.6.1-preview/docs/Setup/Chaincode-setup.md的说明进行操作,并且我在企业防火墙后面。

您能否请帮助。

我知道CORE_PEER_ADDRESS是对等体的IP地址,那么什么是CORE_VM_ENDPOINT?

+0

是否有人可以帮我上面的查询。 – aksh

运行CORE_CHAINCODE_ID_NAME=mycc CORE_PEER_ADDRESS=0.0.0.0:7051 ./chaincode_example02命令的位置似乎是关键因素。

我可以复制运行docker-compose up,获取Windows主机上的chaincode_example02代码,在Windows上构建链代码,然后打开新的Docker快速启动窗口时遇到的相同结果。我将目录更改为$ GOPATH/src/github.com/chaincode_example02目录,然后运行上述命令。结果与问题中提到的结果相符。

从对等图像的Docker容器中运行命令应该产生不同的结果。

  1. 基于docker-compose.yml文件运行docker-compose up后,打开另一个Docker Quickstart窗口。
  2. 使用类似于此命令的命令导航到对等端的文件系统:docker exec -it <substitute container name>_vp0_1 bash。要查找容器名称,您可以先运行docker ps
  3. 进入对等文件系统后,可以通过查看/opt/gopath/src/github.com/hyperledger/fabric/peer/core.yaml文件来检查正在使用的端口。对等体的“listenAddress”被标记为0.0.0.0:7051。
  4. netstat -an命令可用于检查端口7051处于侦听状态。
  5. 如果对方似乎没有在端口7051上侦听,请确保已经运行了peer node start --peer-chaincodedev命令。这应该是docker-compose.yml文件的结果,因为它是该文件中的最后一个语句。
  6. 在对等文件系统中导航到/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02并运行go build
  7. 留在同一个chaincode_example02目录并运行CORE_CHAINCODE_ID_NAME=mycc CORE_PEER_ADDRESS:0.0.0.0.7051 ./chaincode_example02命令
+0

我遵循你提到的步骤和命令工作正常。谢谢。如果我需要放置修改后的链码,是否需要将其放置在码头集装箱中?另外,我想使用Docker Toolbox使用Node HFC SDK for Hyperledger。有没有任何文件可以帮助我使用Docker Toolbox使用Node HFC SDK? – aksh

+0

Chaincode在Docker容器中运行。但是,Hyperledger Fabric版本0.6.1中没有用于链接代码部署后更新的功能。就Hyperledger Fabric Client而言,我不认为有关于使用Docker Toolbox的文档。 Hyperledger Fabric Client上的主要文档可在https://console.ng.bluemix.net/docs/services/blockchain/etn_sdk.html上找到。 –