我在Ubuntu中使用docker图像为fabric-peer和membersrvc设置了Hyperledger,我正在尝试根据https://github.com/hyperledger/fabric/blob/master/docs/Setup/ca-setup.md设置CA
我使用docker-compose up命令启动了docker容器,但在尝试使用POST / registrar API登录时遇到以下错误,其中包含以下有效内容:
{
"enrollId": "test_vp0",
"enrollSecret": "MwYpmSRjupbT"
}
但是收到以下错误:
vp0_1 | 04:40:24.157 [rest] Register -> INFO 04c REST client login...
vp0_1 | 04:40:24.158 [rest] Register -> INFO 04d Local data store for client loginToken: /var/hyperledger/production/client/
vp0_1 | 04:40:24.158 [rest] Register -> INFO 04e Logging in user 'test_vp0' on REST interface...
vp0_1 | 04:40:24.158 [crypto] RegisterClient -> INFO 04f Registering client [test_vp0] with name [test_vp0]...
vp0_1 | 04:40:24.159 [crypto] Debugf -> DEBU 050 [client.test_vp0] Data will be stored at [/var/hyperledger/production/crypto/client/test_vp0]
vp0_1 | 04:40:24.159 [crypto] Debugf -> DEBU 051 [client.test_vp0] Keystore path [/var/hyperledger/production/crypto/client/test_vp0/ks] missing [true]: [<clean>]
vp0_1 | 04:40:24.159 [crypto] Debugf -> DEBU 052 [client.test_vp0] Creating Keystore at [/var/hyperledger/production/crypto/client/test_vp0/ks]...
vp0_1 | 04:40:24.160 [crypto] Debug -> DEBU 053 [client.test_vp0] Open Keystore DB...
vp0_1 | 04:40:24.160 [crypto] Debug -> DEBU 054 [client.test_vp0] Ping Keystore DB...
vp0_1 | 04:40:24.160 [crypto] Debugf -> DEBU 055 [client.test_vp0] Keystore created at [/var/hyperledger/production/crypto/client/test_vp0/ks].
vp0_1 | 04:40:24.160 [crypto] Debugf -> DEBU 056 [client.test_vp0] Keystore opened at [/var/hyperledger/production/crypto/client/test_vp0/ks]...done
vp0_1 | 04:40:24.160 [crypto] Debug -> DEBU 057 [client.test_vp0] Registering node crypto engine...
vp0_1 | 04:40:24.160 [crypto] Debug -> DEBU 058 [client.test_vp0] Initiliazing TLS...
vp0_1 | 04:40:24.161 [crypto] Debug -> DEBU 059 [client.test_vp0] Initiliazing TLS...Disabled!!!
vp0_1 | 04:40:24.161 [crypto] Debug -> DEBU 05a [client.test_vp0] Getting ECA client...
vp0_1 | 04:40:24.161 [crypto] Debugf -> DEBU 05b [client.test_vp0] Dial to addr:[localhost:7054], with serverName:[tlsca]...
vp0_1 | 04:40:24.161 [crypto] Debug -> DEBU 05c [client.test_vp0] TLS disabled...
vp0_1 | 04:40:24.161 [crypto] Debug -> DEBU 05d [client.test_vp0] Getting ECA client...done
**vp0_1 | 04:40:24.162 [crypto] Errorf -> ERRO 05e [client.test_vp0] Failed requesting read certificate [rpc error: code = 14 desc = grpc: RPC failed fast due to transport failure].
vp0_1 | 04:40:24.162 [crypto] Errorf -> ERRO 05f [client.test_vp0] Failed requesting ECA certificate [rpc error: code = 14 desc = grpc: RPC failed fast due to transport failure].
vp0_1 | 04:40:24.162 [crypto] Errorf -> ERRO 060 [client.test_vp0] Failed getting ECA certificate [rpc error: code = 14 desc = grpc: RPC failed fast due to transport failure].
vp0_1 | 04:40:24.162 [crypto] Errorf -> ERRO 061 [client.test_vp0] Failed retrieving ECA certs chain [rpc error: code = 14 desc = grpc: RPC failed fast due to transport failure].
vp0_1 | 04:40:24.163 [crypto] Errorf -> ERRO 062 [client.test_vp0] Failed registering node crypto engine [rpc error: code = 14 desc = grpc: RPC failed fast due to transport failure].
vp0_1 | 04:40:24.163 [crypto] Errorf -> ERRO 063 [client.test_vp0] Failed registering client [test_vp0]: [rpc error: code = 14 desc = grpc: RPC failed fast due to transport failure]
vp0_1 | 04:40:24.163 [crypto] RegisterClient -> ERRO 064 Failed registering client [test_vp0] with name [test_vp0] [rpc error: code = 14 desc = grpc: RPC failed fast due to transport failure].
vp0_1 | 04:40:24.163 [rest] Register -> ERRO 065 Error on client login: rpc error: code = 14 desc = grpc: RPC failed fast due to transport failure
vp0_1 | 2016/10/13 04:40:24 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: dial tcp [::1]:7054: getsockopt: connection refused"; Reconnecting to {"localhost:7054" <nil>}
vp0_1 | 2016/10/13 04:40:24 Failed to dial localhost:7054: grpc: the connection is closing; please retry.**
那么如何解决这个问题?
答案 0 :(得分:0)
使用以下内容创建名为docker-compose.yml
的文件
membersrvc:
image: hyperledger/fabric-membersrvc:latest
restart: unless-stopped
expose:
- "7054"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command: membersrvc
vp0:
extends:
file: peer-noops.yml
service: vp
hostname: vp0
environment:
- CORE_PEER_ID=vp0
- CORE_SECURITY_ENABLED=true
- CORE_SECURITY_ENROLLID=test_vp0
- CORE_SECURITY_ENROLLSECRET=MwYpmSRjupbT
- CORE_PEER_PKI_ECA_PADDR=membersrvc:7054
- CORE_PEER_PKI_TCA_PADDR=membersrvc:7054
- CORE_PEER_PKI_TLSCA_PADDR=membersrvc:7054
ports:
- "7050:7050"
- "7051:7051"
links:
- membersrvc
command: sh -c "sleep 5; peer node start"
在同一目录中创建另一个文件,并将其命名为peer-noops.yml
,
vp:
image: hyperledger/fabric-peer:latest
restart: unless-stopped
environment:
- CORE_PEER_ADDRESSAUTODETECT=true
- CORE_PEER_NETWORKID=dev
- CORE_LOGGING_LEVEL=info #critical, error, warning, notice, info, debug
# The following section enables pbft consensus
- CORE_PEER_VALIDATOR_CONSENSUS_PLUGIN=noops # noops, pbft
- CORE_NOOPS_BLOCK_TIMEOUT=2s
- CORE_NOOPS_BLOCK_WAIT=2s
expose:
- "7051"
- "7052"
- "7053"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command: peer node start
从同一目录运行docker-compose up
。
请read this了解详情。