Hyperledger fabric 在运行fabcar期间创建通道时发生容器错误(结构示例)
快速使用Hyperledger并尝试运行Hyperledger结构教程,但每次尝试在startFabric.sh脚本中创建频道时都会出错 以下是错误: 来自守护程序的错误响应:容器3640f4fca98aef120a2069292a3fc613954a0fbe7c625a31c2843ec643462未运行 运行列出的所有先决条件和命令,克隆最新的结构示例,更新节点,尝试更长的启动时间。但是仍然有这个错误。如果有人知道我哪里出了问题,我会非常感谢你的帮助。提前谢谢 也许值得一提的是,我在Windows7上运行并使用Docker工具箱 startFabric.sh输出如下所示Hyperledger fabric 在运行fabcar期间创建通道时发生容器错误(结构示例),hyperledger-fabric,Hyperledger Fabric,快速使用Hyperledger并尝试运行Hyperledger结构教程,但每次尝试在startFabric.sh脚本中创建频道时都会出错 以下是错误: 来自守护程序的错误响应:容器3640f4fca98aef120a2069292a3fc613954a0fbe7c625a31c2843ec643462未运行 运行列出的所有先决条件和命令,克隆最新的结构示例,更新节点,尝试更长的启动时间。但是仍然有这个错误。如果有人知道我哪里出了问题,我会非常感谢你的帮助。提前谢谢 也许值得一提的是,我在Wind
$ ./startFabric.sh node
# don't rewrite paths for Windows Git Bash users
export MSYS_NO_PATHCONV=1
docker-compose -f docker-compose.yml down
Stopping ca.example.com ... done
Stopping couchdb ... done
Removing peer0.org1.example.com ... done
Removing orderer.example.com ... done
Removing ca.example.com ... done
Removing couchdb ... done
Removing network net_basic
docker-compose -f docker-compose.yml up -d ca.example.com orderer.example.com peer0.org1.example.com couchdb
Creating network "net_basic" with the default driver
Creating ca.example.com ... done
Creating couchdb ... done
Creating orderer.example.com ... done
Creating peer0.org1.example.com ... done
# wait for Hyperledger Fabric to start
# incase of errors when running later commands, issue export FABRIC_START_TIMEOUT=<larger number>
export FABRIC_START_TIMEOUT=10
#echo ${FABRIC_START_TIMEOUT}
sleep ${FABRIC_START_TIMEOUT}
# Create the channel
docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.example.com/msp" peer0.org1.example.com peer channel create -o orderer.example.com:7050 -c mychannel -f /etc/hyperledger/configtx/channel.tx
Error response from daemon: Container 4ebfce361f3e71dd2d678efca1dbf1853cc5387b491f706917b8c54013ec6a80 is not running
docker ps-a输出:
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4ebfce361f3e hyperledger/fabric-peer "peer node start" 15 minutes ago Exited (1) 15 minutes ago peer0.org1.example.com
1187120cdcd0 hyperledger/fabric-orderer "orderer" 15 minutes ago Exited (1) 15 minutes ago orderer.example.com
2d93296f3cb1 hyperledger/fabric-couchdb "tini -- /docker-entâ¦" 15 minutes ago Up 15 minutes 4369/tcp, 9100/tcp, 0.0.0.0:5984->5984/tcp couchdb
6b8638d0ecaf hyperledger/fabric-ca "sh -c 'fabric-ca-seâ¦" 15 minutes ago Up 15 minutes 0.0.0.0:7054->7054/tcp ca.example.com
试着做:
- 移除所有容器-docker rm-f$(docker ps-aq)
- 删除网络-docker网络修剪
- 删除链码映像(如果存在)-docker rmi dev-peer0.org1.example.com
- 重新启动docker
- 再次运行startFabric.sh
希望对您有所帮助。实际问题是无法访问位置
/etc/hyperledger/msp/peer/signcerts
。出于某种原因,Docker Toolbox似乎在主目录下查找此位置。因此,使用以下命令检查Docker VM中的主目录
echo$HOME
(在我的例子中是C:/Users/knwny
),然后将fabric samples文件夹放在该位置。
这为我解决了问题。通过重新运行结构安装指南,实现了这一点: 以下过程完全在具有管理员权限的windows帐户中执行 初步步骤:
- 设置GOPATH环境变量
- 检查Go是否正确构建可执行文件
- 运行npm安装npm@5.6.0-g
- sudo apt get install python(注意,对于我来说,这个命令失败了,但仍然有python,它似乎工作正常,因为它找不到sudo)
- 检查是否正确安装了python 2.7
- 设置git config--global core.autocrlf false
- 设置git config--global core.longpaths为true
- 运行了npm安装--全局windows生成工具
- 运行npm安装--全局grpc
- curl-sSL http://bit.ly/2ysbOFE | bash-s1.2.0
fabric_ca_client = new Fabric_CA_Client('http://localhost:7054', null , '', crypto_suite);
完成这项工作后,我重新运行了织物示例1)第一个网络和2)fabcar示例,它们按预期工作!!我认为我错过了GoPath,并且在第一次尝试时没有成功安装cURL命令
感谢Nhat Duy和knwny帮助解决此问题。对我来说,此问题是由WSL(Windows Linux子系统-可在Windows 10上使用)向Docker的卷切换引起的。使用Kitematic查看docker容器(请参见下面的屏幕截图,并注意文件夹路径是如何混乱的)。单击容器并转到“设置”和“卷”。手动更改卷可使其正常运行 在我的情况下,docker会自动将\c更改为c: 我用这个技巧解决了这个问题: WSL将windows驱动器安装在/mnt/(so/mnt/c/=c:)处。如果我们创建a/c/bind point,这允许Docker将其正确解释为c:\ 过程如下: 使用以下一组命令(一次一个)将驱动器和下载结构绑定到windows用户目录 现在您应该能够成功运行Fabric
./startFabric.sh
它可能会要求您与docker共享C驱动器。你应该这样做。您可以在Kitematic中检查卷装入点和容器,如下所示
感谢您的回复。我试过你的建议,但还是有同样的问题。下面列出了两个容器错误:$docker logs peer0.org1.example.com 2018-07-02 17:09:13.682 UTC[main]main->ERRO 001无法运行peer,因为从目录/etc/hyperledger/MSP/peer/:c设置bccsp类型的MSP时出错:无法从目录/etc/hyperledger/MSP/peer/signcerts:stat/etc/hyperledger/MSP/peer/signcerts加载有效的签名者证书这是$docker的第二个错误日志order.example.com:2018-07-02 17:09:12.027 UTC[msp]getPemMaterialFromDir->DEBU 007读取目录/etc/hyperledger/msp/order/msp/signcerts 2018-07-02 17:09:12.027 UTC[orderer/common/server]initializeLocalMsp->CRIT 0 08初始化本地MSP失败:无法从m目录/etc/hyperledger/MSP/order/MSP/signcerts:stat/etc/hyperledger/ms p/order/MSP/signcerts加载有效的签名者证书:没有此类文件或目录我发现加密目录存在问题,请尝试使用generate.sh重新创建。请注意,在DoCK-Cuff.YML中,FuffigaCaServer、CAYKEYFILE=/ETC/HyLealGeGe/FabyCa Server CONFIG/{PrimaTyr}在Cuto CONFIG//Ca/{PrimaTyKi} BTW中是相同的,我想您会考虑签出结构发布1.1。它成功地为我工作!我不明白为什么/etc/hyperledger/。。。文件夹不在我的虚拟机中。当我尝试generate.sh时,我遇到了另一个问题。这里是:$./generate.sh org1.example.com。。。2018-07-03 11:52:21.878 MST[common/tools/configtxgen]main->INFO 002加载配置2018-07-03 11:52:21.879 MST[common/tools/configtxgen/localconfig]Load->CRIT 003读取配置时出错:解析配置时:yaml:引用的未知锚“orderdefaults”。。。失败的t
sudo mkdir /c
sudo mount --bind /mnt/c /c
cd /c/Users/YOUR_WINDOWS_USERNAME #(go to C:\Users to see what its called)
mkdir blockchain #(or whatever you want to call it)
cd blockchain
curl -O https://raw.githubusercontent.com/hyperledger/composer-tools/master/packages/fabric-dev-servers/fabric-dev-servers.tar.gz
tar -xvf fabric-dev-servers.tar.gz
cd ~/fabric-dev-servers
export FABRIC_VERSION=hlfv12
./downloadFabric.sh
./startFabric.sh