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

Hyperledger Fabric v0.6 using Docker Toolbox

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

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

以错误结束:

"Error trying to connect to local peer : grpc : timed out when dialing"

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

我正在按照 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 命令所在的位置 运行 似乎是关键因素。

我可以复制 运行ning docker 所经历的相同结果-组合,在 Windows 主机上获取 chaincode_example02 代码,构建链码在 Windows 上,然后打开一个新的 Docker 快速入门 window。我将目录更改为 $GOPATH/src/github.com/chaincode_example02 目录,然后 运行 上面的命令。结果与问题中注明的结果相符。

运行 来自 Docker 容器内的对等映像的命令应该产生不同的结果。

  1. 基于docker-compose.yml文件运行宁docker-compose up后,打开另一个Docker快速入门window.
  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 命令