0

docker を使用して、ファブリック チェーンコード example02 をテストしようとしています。私は初心者です:)

これは私のdocker-compose.ymlです:

membersrvc:
  image: hyperledger/fabric-membersrvc
  command: membersrvc

vp0:
  image: hyperledger/fabric-peer
  environment:
    - CORE_PER_ID=vp0
    - CORE_PEER_ADDRESSAUTODETECT=true
    - CORE_VM_ENDPOINT=http://0.0.0.0:2375
    - CORE_LOGGING_LEVEL=DEBUG
  command: sh -c "sleep 5; peer node start --peer-chaincodedev"

vp1:
  extends:
    service: vp0
  environment:
    - CORE_PEER_ID=vp1
    - CORE_PEER_DISCOVERY_ROOTNODE=vp0:7051
  links:
    - vp0

vp2:
  extends:
    service: vp0
  environment:
    - CORE_PEER_ID=vp2
    - CORE_PEER_DISCOVERY_ROOTNODE=vp0:7051
  links:
    - vp0

そして私は実行します(ファブリックチェーンコードのセットアップページを参照しました):

ターミナル1 :

$ docker-compose up

ターミナル2 :

$ cd /hyperledger/examples/chaincode/go/chaincode_example02

$ CORE_CHAINCODE_ID_NAME=mycc CORE_PEER_ADDRESS=0.0.0.0:7051 ./chaincode_example02

第3ターミナル:

$ peer chaincode deploy -n mycc -c '{"Args": ["init", "a","100", "b", "200"]}'

ターミナル1、2でうまく機能します。しかし、端末3は接続エラーを示しています。

2016/10/21 04:39:15 grpc: addrConn.resetTransport failed to create client
transport: connection error: desc = "transport: dial tcp 0.0.0.0:7051:
getsockopt: connection refused"; Reconnecting to {"0.0.0.0:7051" <nil>}
Error: Error building chaincode: Error trying to connect to local peer: 
grpc: timed out when dialing

どうしたの?

4

1 に答える 1

3

必要なポートを docker コンテナーからホスト マシン (ピア コマンドを試している場所) にマップするための構成ステートメントが欠落しているようです。したがって、ピア プロセスがピア Docker コンテナー内のポート 7051 でリッスンしている可能性がありますが、この接続は、ターミナル 3 のこのコンテナーの外部で使用されるピア コマンドでは使用できません。

「ports」タグを使用してポートをマップできます。例えば:

membersrvc:
  image: hyperledger/fabric-membersrvc
  ports:
    - "7054:7054"
  command: membersrvc

vp0:
  image: hyperledger/fabric-peer
  ports:
    - "7050:7050"
    - "7051:7051"
    - "7053:7053"
  environment:
    - CORE_PER_ID=vp0
    - CORE_PEER_ADDRESSAUTODETECT=true
    - CORE_VM_ENDPOINT=http://0.0.0.0:2375
    - CORE_LOGGING_LEVEL=DEBUG
  command: sh -c "sleep 5; peer node start --peer-chaincodedev"

ターミナル 3 で行う前にpeer chaincode deploy ...、ピア プロセスがポート 7051 でリッスンしているかどうかを確認できます。

netstat -lnptu |grep 7051
于 2016-10-24T08:24:27.693 に答える