执行./byfn.sh -m up启动Hyperledger Fabric网络时出现错误
听起来你在运行Hyperledger Fabric的BYFN示例网络时碰到了麻烦——./byfn.sh -m generate执行完全正常,但./byfn.sh -m up启动网络时却出现了peer容器创建失败的错误,报错片段如下:
2018-03-28 08:47:19.896 UTC [main] main -> INFO 001 Exiting..... LOCAL_VERSION=1.1.0 DOCKER_IMAGE_VERSION=1.1.0 orderer.example.com is up-to-date Creating peer1.org2.example.com ... Creating peer0.org2.example.com ... Creating peer1.org1.example.com ... error Creating peer0.org1.example.com ... Creating peer1.org2.example.com ... error ERRO...
我给你几个实用的排查和解决思路,你可以一步步尝试:
先检查Docker资源是否充足
这种容器创建失败的情况,大概率是Docker分配的资源不够用。如果你用的是Windows或macOS的Docker Desktop,打开设置里的「资源」选项,把内存调到至少4GB,CPU分配2核以上,重启Docker之后再重新启动网络试试。清理旧的Fabric网络残留
之前运行的网络可能留下了未彻底删除的容器、网络或者数据卷,导致新容器创建时冲突。执行下面的命令彻底清理:./byfn.sh -m down docker system prune -a docker volume prune清理完成后,重新执行
./byfn.sh -m generate生成配置,再运行./byfn.sh -m up启动网络。重新拉取对应版本的Fabric镜像
虽然报错里显示本地版本和镜像版本都是1.1.0,但不排除镜像文件损坏的可能。你可以重新拉取peer和orderer的镜像:docker pull hyperledger/fabric-peer:1.1.0 docker pull hyperledger/fabric-orderer:1.1.0拉取完成后再尝试启动网络。
查看完整的Docker日志定位问题
你提供的报错信息不完整,直接查看对应peer容器的日志能得到更详细的错误原因。比如查看peer0.org1.example.com的日志:docker logs peer0.org1.example.com从日志里你能看到具体是端口被占用、权限不足还是配置文件出了问题,这样就能更精准地解决。
内容的提问来源于stack exchange,提问作者Soph

