我已经在Windows(Linux容器)上运行的Docker(2.2.0.5)中安装了Hyperledger Fabric(2.0.0-alpha),并试图启动第一个网络示例。当运行该命令时,我发现 .byfn.sh -m up 我得到以下错误。
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused
"no such file or directory": unknown ERROR !!!! Test failed
从Docker仪表板上看,cli和peers已经启动,而不是orderer。当检查orderer的日志时,我看到以下错误。
2020-05-04 20:29:04.492 UTC [orderer.common.cluster] loadVerifier -> ERRO 003 Channel byfn-sys-channel has no blocks, skipping it
2020-05-04 20:29:04.500 UTC [orderer.common.cluster] loadVerifier -> INFO 004 Loaded verifier for channel testchainid from config block at index 0
2020-05-04 20:29:04.520 UTC [orderer.common.server] initializeServerConfig -> INFO 005 Starting orderer with TLS enabled
2020-05-04 20:29:04.521 UTC [orderer.common.server] initializeMultichannelRegistrar -> INFO 006 Not bootstrapping because of existing chains
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0xe06ad9]
goroutine 1 [running]:
github.com/hyperledger/fabric/protoutil.GetMetadataFromBlock(0x0, 0x1, 0x0, 0x194, 0x1dad440)
/go/src/github.com/hyperledger/fabric/protoutil/blockutils.go:110 +0x39
github.com/hyperledger/fabric/protoutil.GetLastConfigIndexFromBlock(0x0, 0xc0002f22a0, 0xffffffffffffffff, 0x0)
/go/src/github.com/hyperledger/fabric/protoutil/blockutils.go:130 +0x37
github.com/hyperledger/fabric/orderer/common/multichannel.ConfigBlock(0x7f12cf76eda8, 0xc0002f22a0, 0x7f12cf76eda8)
/go/src/github.com/hyperledger/fabric/orderer/common/multichannel/registrar.go:111 +0x68
github.com/hyperledger/fabric/orderer/common/multichannel.configTx(0x7f12cf76eda8, 0xc0002f22a0, 0xc0002f22a0)
/go/src/github.com/hyperledger/fabric/orderer/common/multichannel/registrar.go:124 +0x35
我在网上查了一下解决方案,但到现在还没有结果。 类似问题1 - 他没有解释他是否安装了一个新的Docker版本或做了其他不同的事情。 类似问题2 - 在 docker-compose.yml 中,我的 orderer.example.com 的 working_dir 是 /opt/gopath/src/github.com/hyperledger/fabric/orderer
而对于悬崖 /opt/gopath/src/github.com/hyperledger/fabric/peer
另外,我的GO版本是go1.8.7,我已经在Docker(2.2.0.5)中安装了Hyperledger Fabric(2.0.0-alpha),运行在Windows(Linux容器)上,并试图启动第一个网络示例。
我按照几个步骤解决了这个问题。
Error: failed to create deliver client for orderer: orderer client failed to connect to orderer.example.com:7050: failed to create new connection: connection error: desc = "transport: error while dialing: dial tcp: lookup orderer.example.com on 127.0.0.11:53: no such host" !!!!!!! 频道创建失败!!!!!!!
docker rm -f $(docker ps -aq)
./byfn.sh down
然后再启动它就解决了这个问题。