问题描述:
如果你在跟随hyperledger-fabric官方文档操作,当运行下列语句时
./network.sh createChannel
出现下面这个红字:(即无法创建通道)请往下面看具体描述是否相同!!!!
具体操作过程:
在跟随中文官方文档(https://hyperledger-fabric.readthedocs.io/zh_CN/release-2.2/test_network.html)进行fabric-sample的搭建过程中,首先运行
./network.sh up
如上图所示 一切都很美好,但是需要大家注意这一条
LOCAL_VERSION=2.3.0
DOCKER_IMAGE_VERSION=1.4.8
“Local fabric binaries and docker images are out of sync”这就是接下来为什么不能创建channel的原因!
上面的LOCAL_VERSION=2.3.0代表的是在这个网页中(https://github.com/hyperledger/fabric/releases)fabric的版本,也就是我本地下载下来的版本!
而DOCKER_IMAGE_VERSION=1.4.8代表的是dockers下载的fabric镜像版本为1.4.8
两个版本不同!故当运行dockers ps时:
dockers ps
没有 orderer的镜像在运行中,而是直接被stop掉!
#看一下所有的容器!
dockers ps -a
没错,orderer已经被stop掉了!
针对于符合以上描述的问题-----解决方案:
保证两个版本的一致性就可以!
- 下载符合docker image version的fabric,并将fabric中的bin和config放置在fabric-samples目录下,配置好PATH就好
- 最简单的方法:(镜像的版本跟随本地一致就行)这里的2.3.0取自本地LOCAL_VERSION=2.3.0
./network.sh up -i 2.3.0
#./ network.sh up -i 2.3.0中-i的含义解释如下:
-i <imagetag> - Docker image tag of Fabric to deploy (defaults to "latest")---》代表docker镜像版本标识!
LOCAL_VERSION=2.3.0
DOCKER_IMAGE_VERSION=2.3.0
两个版本一致性达成!!!!
最后-查看结果
./network.sh createChannel
出现这个代表你成功了!!!!