環(huán)境:
System Version: Ubuntu Linux 14.04 / 16.04 LTSHyperledger Composer version: 0.19.1
步驟:
mkdir ~/fabric-dev-servers && cd ~/fabric-dev-servers
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&&./downloadFabric.sh
cd ~/fabric-dev-servers && ./createPeerAdminCard.sh && ./startFabric.sh
問(wèn)題:
查看該容器 log ,發(fā)現(xiàn)有條警告信息:
2018-05-06 01:32:11.118 UTC [couchdb] handleRequest -> WARN 016 Retrying couchdb request in 125ms. Attempt:1 Error:Get http://couchdb:5984/: dial tcp 172.18.0.4:5984: getsockopt: connection refused
看錯(cuò)誤,是peer0容器沒(méi)有能連上couchdb。
經(jīng)過(guò)一番搜尋,stackoverflow 上有解決方案說(shuō) dns 解析問(wèn)題,在 peer0.org1.example.com 中加入dns_search: ., But It does not work ??????
那好,我嘗試不用couchdb,用他默認(rèn)的levelDB。注釋掉 docker-composer.yaml 里 peer0.org1.com 連接 couchdb 的一些依賴(lài)以及環(huán)境變量
重新執(zhí)行 ./startFabric.sh.
這次peer0還是不能正常啟動(dòng),依舊出現(xiàn)了報(bào)錯(cuò)。報(bào)錯(cuò)信息如下
fatal error: unexpected signal during runtime execution [signal SIGSEGV: segmentation violation code=0x1 addr=0x63 ...
經(jīng)過(guò)很長(zhǎng)時(shí)間的查詢(xún),發(fā)現(xiàn)最新的阿里云服務(wù)器中 golang 使用cgo resolver解析dns(宿主機(jī)ECS的配置文件變了), 過(guò)去OK 的版本使用的是 pure go resolver.
解決:
解決方法:
在docker-compose.yaml里對(duì)peer、orderer、ca、couchdb的環(huán)境變量加入GODEBUG=netdns=go
再次嘗試 ./startFabric.sh ,終于 OK ?。。?br>
??????