使用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?
运行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容器中运行命令应该产生不同的结果。
- 基于docker-compose.yml文件运行
docker-compose up
后,打开另一个Docker Quickstart窗口。 - 使用类似于此命令的命令导航到对等端的文件系统:
docker exec -it <substitute container name>_vp0_1 bash
。要查找容器名称,您可以先运行docker ps
。 - 进入对等文件系统后,可以通过查看/opt/gopath/src/github.com/hyperledger/fabric/peer/core.yaml文件来检查正在使用的端口。对等体的“listenAddress”被标记为0.0.0.0:7051。
-
netstat -an
命令可用于检查端口7051处于侦听状态。 - 如果对方似乎没有在端口7051上侦听,请确保已经运行了
peer node start --peer-chaincodedev
命令。这应该是docker-compose.yml文件的结果,因为它是该文件中的最后一个语句。 - 在对等文件系统中导航到/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02并运行
go build
。 - 留在同一个chaincode_example02目录并运行
CORE_CHAINCODE_ID_NAME=mycc CORE_PEER_ADDRESS:0.0.0.0.7051 ./chaincode_example02
命令
我遵循你提到的步骤和命令工作正常。谢谢。如果我需要放置修改后的链码,是否需要将其放置在码头集装箱中?另外,我想使用Docker Toolbox使用Node HFC SDK for Hyperledger。有没有任何文件可以帮助我使用Docker Toolbox使用Node HFC SDK? – aksh
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上找到。 –
是否有人可以帮我上面的查询。 – aksh