出现以上问题可能原因如下:
- fabric源码版本和docker images版本不对应
- e2e_cli目录下的channel-artifacts和crypto-config两个文件夹无法访问且内部文件访问异常(文件夹里面生成的文件异常,常见的是channel-artifacts目录下的genesis.block是个文件夹)
我遇到的就是第二种情况,解决方法如下:
- 清空channel-artifacts文件夹里面的所有文件(该文件夹不要删除),删除crypto-config文件夹;
- 重新执行
bash generateArtifacts.sh mychannel
然后查看channel-artifacts和crypto文件夹及内部文件是否正常(因为我是手动执行部署的,所以需要手动执行generateArtifacts.sh文件。)
- 再次执行
docker-compose -f docker-compose-peer.yaml up -d
注:
- 执行此命令时,需注意要先停止并删除所有正在运行的dokcer容器,否则会出现异常。命令如下:
docker stop $(docker ps -a -q)
、docker rm $(docker ps -a -q)
- 命令中的docker-compose-peer.yaml文件是我根据docker-compose-cli.yaml文件修改而成,可更换成自己的文件名称。
结果正常了。
执行
./network_setup.sh up
出现如上问题的同学,如果不是fabric源码和docker镜像版本问题的话,可尝试解决方案如下:
- 清空channel-artifacts文件夹里面的所有文件(该文件夹不要删除),删除crypto-config文件夹;
- 再次执行
./network_setup.sh up
命令
注:在整个过程中,务必确保channel-artifacts、crypto-config两个目录及目录下的所有文件都能访问,如果文件夹或文件显示锁状图标的话,说明访问是存在问题的,可进入e2e_cli目录下,执行如下命令:
sudo chmod 777 -R .