composer network start:没有来自任何同行的有效回复。来自尝试的对等通信的响应是错误:错误:REQUEST_TIMEOUT

时间:2018-04-27 14:13:55

标签: hyperledger-fabric hyperledger hyperledger-composer

我正在尝试按照本教程将多个组织部署到Hyperledger结构 - > https://hyperledger.github.io/composer/latest/tutorials/deploy-to-fabric-multi-org

在我尝试启动网络之前,一切都按预期工作:

composer network start -l "DEBUG" -c PeerAdmin@byfn-network-org1 -n block-aviation-network -V 0.0.1 -o endorsementPolicyFile=./tmp/composer/endorsement-policy.json -A SimonOrg1 -C SimonOrg1/admin-pub.pem -A SimonOrg2 -C SimonOrg2/admin-pub.pem -A SimonOrg3 -C SimonOrg3/admin-pub.pem

之后我收到以下错误:

    error: Error trying to start business network. Error: No valid responses from any peers.
Response from attempted peer comms was an error: Error: REQUEST_TIMEOUT
Response from attempted peer comms was an error: Error: REQUEST_TIMEOUT
Response from attempted peer comms was an error: Error: REQUEST_TIMEOUT
Response from attempted peer comms was an error: Error: REQUEST_TIMEOUT
Response from attempted peer comms was an error: Error: REQUEST_TIMEOUT
Response from attempted peer comms was an error: Error: 14 UNAVAILABLE: Connect Failed

我查看了以下链接(https://github.com/hyperledger/composer-knowledge-wiki/blob/latest/knowledge.md#information_source--composer-network-start-issues),建议将以下环境变量添加到容器中:

      - CORE_CHAINCODE_STARTUPTIMEOUT=2400s
      - CORE_CHAINCODE_EXECUTETIMEOUT=1600s

但我仍然像上面详述的那样犯了同样的错误。

同行base.yaml

# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#

version: '2'

services:
  peer-base:
    image: hyperledger/fabric-peer
    environment:
      - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
      # the following setting starts chaincode containers on the same
      # bridge network as the peers
      # https://docs.docker.com/compose/networking/
      - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_blockaviation
      #- CORE_LOGGING_LEVEL=ERROR
      - CORE_CHAINCODE_STARTUPTIMEOUT=2400s
      - CORE_CHAINCODE_EXECUTETIMEOUT=1600s
      #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=host
      - CORE_LOGGING_LEVEL=DEBUG
      - CORE_PEER_TLS_ENABLED=true
      - CORE_PEER_GOSSIP_USELEADERELECTION=true
      - CORE_PEER_GOSSIP_ORGLEADER=false
      - CORE_PEER_PROFILE_ENABLED=true
      - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt
      - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key
      - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt
    working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
    command: peer node start

搬运工-撰写-base.yaml

    # Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#

version: '2'

services:

  orderer.blockaviation.com:
    container_name: orderer.blockaviation.com
    image: hyperledger/fabric-orderer
    environment:
      - ORDERER_GENERAL_LOGLEVEL=debug
      - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
      - ORDERER_GENERAL_GENESISMETHOD=file
      - ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block
      - ORDERER_GENERAL_LOCALMSPID=OrdererMSP
      - ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
      #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=host
      # enabled TLS
      - ORDERER_GENERAL_TLS_ENABLED=true
      - ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
      - ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
      - ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
    working_dir: /opt/gopath/src/github.com/hyperledger/fabric
    command: orderer
    volumes:
    - ../channel-artifacts/genesis.block:/var/hyperledger/orderer/orderer.genesis.block
    - ../crypto-config/ordererOrganizations/blockaviation.com/orderers/orderer.blockaviation.com/msp:/var/hyperledger/orderer/msp
    - ../crypto-config/ordererOrganizations/blockaviation.com/orderers/orderer.blockaviation.com/tls/:/var/hyperledger/orderer/tls
    ports:
      - ${IP}:7050:7050

  peer0.org1.blockaviation.com:
    container_name: peer0.org1.blockaviation.com
    extends:
      file: peer-base.yaml
      service: peer-base
    environment:
      - CORE_PEER_ID=peer0.org1.blockaviation.com
      - CORE_PEER_ADDRESS=peer0.org1.blockaviation.com:7051
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.blockaviation.com:7051
      - CORE_PEER_LOCALMSPID=Org1MSP
      - CORE_CHAINCODE_STARTUPTIMEOUT=2400s
      - CORE_CHAINCODE_EXECUTETIMEOUT=1600s
      #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=host
    volumes:
        - /var/run/:/host/var/run/
        - ../crypto-config/peerOrganizations/org1.blockaviation.com/peers/peer0.org1.blockaviation.com/msp:/etc/hyperledger/fabric/msp
        - ../crypto-config/peerOrganizations/org1.blockaviation.com/peers/peer0.org1.blockaviation.com/tls:/etc/hyperledger/fabric/tls
    ports:
      - ${IP}:7051:7051
      - ${IP}:7053:7053

  peer1.org1.blockaviation.com:
    container_name: peer1.org1.blockaviation.com
    extends:
      file: peer-base.yaml
      service: peer-base
    environment:
      - CORE_PEER_ID=peer1.org1.blockaviation.com
      - CORE_PEER_ADDRESS=peer1.org1.blockaviation.com:7051
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.blockaviation.com:7051
      - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.blockaviation.com:7051
      - CORE_PEER_LOCALMSPID=Org1MSP
      - CORE_CHAINCODE_STARTUPTIMEOUT=2400s
      - CORE_CHAINCODE_EXECUTETIMEOUT=1600s
      #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=host
    volumes:
        - /var/run/:/host/var/run/
        - ../crypto-config/peerOrganizations/org1.blockaviation.com/peers/peer1.org1.blockaviation.com/msp:/etc/hyperledger/fabric/msp
        - ../crypto-config/peerOrganizations/org1.blockaviation.com/peers/peer1.org1.blockaviation.com/tls:/etc/hyperledger/fabric/tls

    ports:
      - ${IP}:8051:7051
      - ${IP}:8053:7053

  peer0.org2.blockaviation.com:
    container_name: peer0.org2.blockaviation.com
    extends:
      file: peer-base.yaml
      service: peer-base
    environment:
      - CORE_PEER_ID=peer0.org2.blockaviation.com
      - CORE_PEER_ADDRESS=peer0.org2.blockaviation.com:7051
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.blockaviation.com:7051
      - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.blockaviation.com:7051
      - CORE_PEER_LOCALMSPID=Org2MSP
      - CORE_CHAINCODE_STARTUPTIMEOUT=2400s
      - CORE_CHAINCODE_EXECUTETIMEOUT=1600s
      #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=host
    volumes:
        - /var/run/:/host/var/run/
        - ../crypto-config/peerOrganizations/org2.blockaviation.com/peers/peer0.org2.blockaviation.com/msp:/etc/hyperledger/fabric/msp
        - ../crypto-config/peerOrganizations/org2.blockaviation.com/peers/peer0.org2.blockaviation.com/tls:/etc/hyperledger/fabric/tls
    ports:
      - ${IP}:9051:7051
      - ${IP}:9053:7053

  peer1.org2.blockaviation.com:
    container_name: peer1.org2.blockaviation.com
    extends:
      file: peer-base.yaml
      service: peer-base
    environment:
      - CORE_PEER_ID=peer1.org2.blockaviation.com
      - CORE_PEER_ADDRESS=peer1.org2.blockaviation.com:7051
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.blockaviation.com:7051
      - CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org2.blockaviation.com:7051
      - CORE_PEER_LOCALMSPID=Org2MSP
      - CORE_CHAINCODE_STARTUPTIMEOUT=2400s
      - CORE_CHAINCODE_EXECUTETIMEOUT=1600s
      #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=host
    volumes:
        - /var/run/:/host/var/run/
        - ../crypto-config/peerOrganizations/org2.blockaviation.com/peers/peer1.org2.blockaviation.com/msp:/etc/hyperledger/fabric/msp
        - ../crypto-config/peerOrganizations/org2.blockaviation.com/peers/peer1.org2.blockaviation.com/tls:/etc/hyperledger/fabric/tls
    ports:
      - ${IP}:10051:7051
      - ${IP}:10053:7053

# ORGANISATION THREE

  peer0.org3.blockaviation.com:
    container_name: peer0.org3.blockaviation.com
    extends:
      file: peer-base.yaml
      service: peer-base
    environment:
      - CORE_PEER_ID=peer0.org3.blockaviation.com
      - CORE_PEER_ADDRESS=peer0.org3.blockaviation.com:7051
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org3.blockaviation.com:7051
      - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org3.blockaviation.com:7051
      - CORE_PEER_LOCALMSPID=Org3MSP
      - CORE_CHAINCODE_STARTUPTIMEOUT=2400s
      - CORE_CHAINCODE_EXECUTETIMEOUT=1600s
      #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=host
    volumes:
      - /var/run/:/host/var/run/
      - ../crypto-config/peerOrganizations/org3.blockaviation.com/peers/peer0.org3.blockaviation.com/msp:/etc/hyperledger/fabric/msp
      - ../crypto-config/peerOrganizations/org3.blockaviation.com/peers/peer0.org3.blockaviation.com/tls:/etc/hyperledger/fabric/tls
    ports:
      - ${IP}:11051:7051
      - ${IP}:11053:7053

  peer1.org3.blockaviation.com:
    container_name: peer1.org3.blockaviation.com
    extends:
      file: peer-base.yaml
      service: peer-base
    environment:
      - CORE_PEER_ID=peer1.org3.blockaviation.com
      - CORE_PEER_ADDRESS=peer1.org3.blockaviation.com:7051
      - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org3.blockaviation.com:7051
      - CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org3.blockaviation.com:7051
      - CORE_PEER_LOCALMSPID=Org3MSP
      #- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=host
      - CORE_CHAINCODE_STARTUPTIMEOUT=2400s
      - CORE_CHAINCODE_EXECUTETIMEOUT=1600s
    volumes:
      - /var/run/:/host/var/run/
      - ../crypto-config/peerOrganizations/org3.blockaviation.com/peers/peer1.org3.blockaviation.com/msp:/etc/hyperledger/fabric/msp
      - ../crypto-config/peerOrganizations/org3.blockaviation.com/peers/peer1.org3.blockaviation.com/tls:/etc/hyperledger/fabric/tls
    ports:
      - ${IP}:12051:7051
      - ${IP}:12053:7053

用于部署网络的命令:

mkdir channel-artifacts crypto-config

bash byfn.sh -m generate

bash byfn.sh -m up -s couchdb -a -t 5


mkdir -p ./tmp/composer/org1
mkdir -p ./tmp/composer/org2
mkdir -p ./tmp/composer/org3

awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}' crypto-config/peerOrganizations/org1.blockaviation.com/peers/peer0.org1.blockaviation.com/tls/ca.crt > ./tmp/composer/org1/ca-org1.txt
caOrg1="$(<./tmp/composer/org1/ca-org1.txt)"
echo "$caOrg1"

awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}' crypto-config/peerOrganizations/org2.blockaviation.com/peers/peer0.org2.blockaviation.com/tls/ca.crt > ./tmp/composer/org2/ca-org2.txt
caOrg2="$(<./tmp/composer/org2/ca-org2.txt)"
echo "$caOrg2"

awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}' crypto-config/peerOrganizations/org3.blockaviation.com/peers/peer0.org3.blockaviation.com/tls/ca.crt > ./tmp/composer/org3/ca-org3.txt
caOrg3="$(<./tmp/composer/org3/ca-org3.txt)"
echo "$caOrg3"

awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}' crypto-config/ordererOrganizations/blockaviation.com/orderers/orderer.blockaviation.com/tls/ca.crt > ./tmp/composer/ca-orderer.txt
caOrderer="$(<./tmp/composer/ca-orderer.txt)"
echo "$caOrderer"
export ORG1=./crypto-config/peerOrganizations/org1.blockaviation.com/users/Admin@org1.blockaviation.com/msp
cp -p $ORG1/signcerts/A*.pem ./tmp/composer/org1
cp -p $ORG1/keystore/*_sk ./tmp/composer/org1

export ORG2=./crypto-config/peerOrganizations/org2.blockaviation.com/users/Admin@org2.blockaviation.com/msp
cp -p $ORG2/signcerts/A*.pem ./tmp/composer/org2
cp -p $ORG2/keystore/*_sk ./tmp/composer/org2

export ORG3=./crypto-config/peerOrganizations/org3.blockaviation.com/users/Admin@org3.blockaviation.com/msp
cp -p $ORG3/signcerts/A*.pem ./tmp/composer/org3
cp -p $ORG3/keystore/*_sk ./tmp/composer/org3


touch ./tmp/composer/org1/byfn-network-org1.json
touch ./tmp/composer/org2/byfn-network-org2.json
touch ./tmp/composer/org3/byfn-network-org3.json


composer card create -p ./tmp/composer/org1/byfn-network-org1.json -u PeerAdmin -c ./tmp/composer/org1/Admin@org1.blockaviation.com-cert.pem -k ./tmp/composer/org1/*_sk -r PeerAdmin -r ChannelAdmin -f PeerAdmin@byfn-network-org1.card
composer card create -p ./tmp/composer/org2/byfn-network-org2.json -u PeerAdmin -c ./tmp/composer/org2/Admin@org2.blockaviation.com-cert.pem -k ./tmp/composer/org2/*_sk -r PeerAdmin -r ChannelAdmin -f PeerAdmin@byfn-network-org2.card
composer card create -p ./tmp/composer/org3/byfn-network-org3.json -u PeerAdmin -c ./tmp/composer/org3/Admin@org3.blockaviation.com-cert.pem -k ./tmp/composer/org3/*_sk -r PeerAdmin -r ChannelAdmin -f PeerAdmin@byfn-network-org3.card


composer card import -f PeerAdmin@byfn-network-org1.card --card PeerAdmin@byfn-network-org1
composer card import -f PeerAdmin@byfn-network-org2.card --card PeerAdmin@byfn-network-org2
composer card import -f PeerAdmin@byfn-network-org3.card --card PeerAdmin@byfn-network-org3


composer network install --card PeerAdmin@byfn-network-org1 --archiveFile ../BlockAviation/dist/block-aviation-network.bna
composer network install --card PeerAdmin@byfn-network-org2 --archiveFile ../BlockAviation/dist/block-aviation-network.bna
composer network install --card PeerAdmin@byfn-network-org3 --archiveFile ../BlockAviation/dist/block-aviation-network.bna


 touch ./tmp/composer/endorsement-policy.json

 cat << EOF > ./tmp/composer/endorsement-policy.json
 {
     "identities": [
         {
             "role": {
                 "name": "member",
                 "mspId": "Org1MSP"
             }
         },
         {
             "role": {
                 "name": "member",
                 "mspId": "Org2MSP"
             }
         }
     ],
     "policy": {
         "2-of": [
             {
                 "signed-by": 0
             },
             {
                 "signed-by": 1
             }
         ]
     }
 }
EOF


composer identity request -c PeerAdmin@byfn-network-org1 -u admin -s adminpw -d SimonOrg1
composer identity request -c PeerAdmin@byfn-network-org2 -u admin -s adminpw -d SimonOrg2
composer identity request -c PeerAdmin@byfn-network-org2 -u admin -s adminpw -d SimonOrg3


composer network start -l "DEBUG" -c PeerAdmin@byfn-network-org1 -n block-aviation-network -V 0.0.1 -o endorsementPolicyFile=./tmp/composer/endorsement-policy.json -A SimonOrg1 -C SimonOrg1/admin-pub.pem -A SimonOrg2 -C SimonOrg2/admin-pub.pem -A SimonOrg3 -C SimonOrg3/admin-pub.pem

我查看了docker容器的日志,但是我看不到任何明显的错误。 (参见log0 for peer0.org1)

2018-04-27 13:47:43.662 UTC [dockercontroller] Start -> DEBU 8d6 start-could not find image <dev-peer0.org1.blockaviation.com-block-aviation-network-0.0.1-31fe9b4f843162ae50dcbb6bf4911fbdd8769fb314de85411475e43ee76433db> (container id <dev-peer0.org1.blockaviation.com-block-aviation-network-0.0.1>), because of <no such image>...attempt to recreate image
2018-04-27 13:47:43.663 UTC [chaincode-platform] generateDockerfile -> DEBU 8d7 
FROM hyperledger/fabric-baseimage:x86_64-0.4.6
ADD binpackage.tar /usr/local/src
LABEL org.hyperledger.fabric.chaincode.id.name="block-aviation-network" \
      org.hyperledger.fabric.chaincode.id.version="0.0.1" \
      org.hyperledger.fabric.chaincode.type="NODE" \
      org.hyperledger.fabric.version="1.1.0" \
      org.hyperledger.fabric.base.version="0.4.6"
ENV CORE_CHAINCODE_BUILDLEVEL=1.1.0
2018-04-27 13:47:43.745 UTC [util] DockerBuild -> DEBU 8d8 Attempting build with image hyperledger/fabric-ccenv:x86_64-1.1.0
2018-04-27 13:52:29.809 UTC [gossip/discovery] getDeadMembers -> WARN 8d9 Haven't heard from [10 94 61 126 168 3 233 141 146 255 32 24 59 157 112 91 199 47 185 79 219 186 21 43 174 78 212 36 58 249 239 248] for 26.6482049s

我注意到的一件事是我的fabric-ccenv容器在我的桥接网络中运行,而不是在我的ba_multi_org_blockaviation网络中运行所有其他容器。

网络详情:

BA_multi_org simonmullaney$ docker network list
NETWORK ID          NAME                         DRIVER              SCOPE
dfc17755fb97        ba_multi_org_blockaviation   bridge              local
f79a2359276a        bridge                       bridge              local
1ea87e9a0bb4        host                         host                local
e22f1c0f8ead        none                         null                local
Simons-MBP:BA_multi_org simonmullaney$ docker inspect dfc17755fb97
[
    {
        "Name": "ba_multi_org_blockaviation",
        "Id": "dfc17755fb97e219bfb0d3069a95f1760e5a914e0bb596613b6b266e6880d080",
        "Created": "2018-04-30T14:02:57.360711604Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "0b954d9968aa160918b7672cb5bc07423cd1cd703973c6677f1c82d9fdfd057c": {
                "Name": "couchdb3",
                "EndpointID": "7aeed72f86e46e445753e5726abe53bec188eeef0ac30c2497e64e27cff24294",
                "MacAddress": "02:42:ac:12:00:03",
                "IPv4Address": "172.18.0.3/16",
                "IPv6Address": ""
            },
            "0f753b1cdd3ae2f864e22d5bc8e0dfbb944d703af0f848ac118e36029779af38": {
                "Name": "peer0.org1.blockaviation.com",
                "EndpointID": "3af255d328a9390a29e96617d451ed2d6b843dca5a88b6778c6234a02fd45d5b",
                "MacAddress": "02:42:ac:12:00:0d",
                "IPv4Address": "172.18.0.13/16",
                "IPv6Address": ""
            },
            "2164fbac12736d56caef42644d07e381526020f6d4dcaddeea9c475a0a02f967": {
                "Name": "couchdb0",
                "EndpointID": "dfb0fbabf68cd8a1d1c29213dbb04e541bf855d54bd4e8aa748c67564d937db1",
                "MacAddress": "02:42:ac:12:00:08",
                "IPv4Address": "172.18.0.8/16",
                "IPv6Address": ""
            },
            "353acf5a6f4b290b5b300f315f6a30a12dd23024c08fa2ae9b9966f4efc92d30": {
                "Name": "peer1.org1.blockaviation.com",
                "EndpointID": "e03fd033311a7516a5d5d9a89153eb45eba090bd73a4eb78f2bb4e7d45b7e9e9",
                "MacAddress": "02:42:ac:12:00:0f",
                "IPv4Address": "172.18.0.15/16",
                "IPv6Address": ""
            },
            "4f50fa5e3e68b10b792b5f466b939c26e748688a57fa117288a1bd6f0c8d5223": {
                "Name": "couchdb5",
                "EndpointID": "cf77a071036f7bca03358a5536490f7c34755ad393556195a7107de2d80c6708",
                "MacAddress": "02:42:ac:12:00:07",
                "IPv4Address": "172.18.0.7/16",
                "IPv6Address": ""
            },
            "55952da16c664679e75c5c33e2ec7d45ba20d6c6179cc68d6238c7d9af41c077": {
                "Name": "ca_peerOrg3",
                "EndpointID": "7055948f7462b637105dcc1b53d37d2e0a005b98503fec3503c465daa1dc9740",
                "MacAddress": "02:42:ac:12:00:05",
                "IPv4Address": "172.18.0.5/16",
                "IPv6Address": ""
            },
            "5e489993cb67bfd1df5ec7b30dbf4a463618957e8077b5463345564fc7928763": {
                "Name": "ca_peerOrg1",
                "EndpointID": "831a19a12cecf3b0e89443d50c70838688b14fb02e9a75ecdc7a8e51d93c9fef",
                "MacAddress": "02:42:ac:12:00:0b",
                "IPv4Address": "172.18.0.11/16",
                "IPv6Address": ""
            },
            "63708fe8a9eb09619f57af9c95b63ddbb16bc196fd8ff74f3a4b6b3170149381": {
                "Name": "peer1.org3.blockaviation.com",
                "EndpointID": "b9095de16ce6e9e73bfa751d6058ea441cd45cf5dac8e48ad902e22adcd6fcfb",
                "MacAddress": "02:42:ac:12:00:11",
                "IPv4Address": "172.18.0.17/16",
                "IPv6Address": ""
            },
            "8620a474e5c9886cc6274d708c97afd417e443c1b6d7857ff5a2c04e580a4210": {
                "Name": "peer0.org2.blockaviation.com",
                "EndpointID": "e452971c532f04c70b71922e86ba36941e0972099c96d8008fa93b9a8253f5bb",
                "MacAddress": "02:42:ac:12:00:0c",
                "IPv4Address": "172.18.0.12/16",
                "IPv6Address": ""
            },
            "89d7f5261bb4bcbe90a1b3169aa0e3f8875dcc448ae9c7a45c50b7d51fbc75df": {
                "Name": "couchdb4",
                "EndpointID": "66164991a57b4ebc557438e2e135f519a43f8de40d93df52f75ed48cd03c6114",
                "MacAddress": "02:42:ac:12:00:09",
                "IPv4Address": "172.18.0.9/16",
                "IPv6Address": ""
            },
            "9f66f64f2157e969283273470b1f5f0455cb165309f8bb61d63aa916e6bfd08b": {
                "Name": "peer1.org2.blockaviation.com",
                "EndpointID": "694966adbd07905d892c276bee84190e10997c2a706daee6db0b9650146421f0",
                "MacAddress": "02:42:ac:12:00:10",
                "IPv4Address": "172.18.0.16/16",
                "IPv6Address": ""
            },
            "a7ceadc414fd8bc073de5e8d372867e028829203abf5181df7942ce04234fe96": {
                "Name": "couchdb1",
                "EndpointID": "b0486b4b14d4c9ea1fcdb301a55558be8a9c285dbec0ed33c67141b7550174dc",
                "MacAddress": "02:42:ac:12:00:06",
                "IPv4Address": "172.18.0.6/16",
                "IPv6Address": ""
            },
            "b77c5432099968d29a56cbde7209c1417de74dd169e79762407ce5da77d4e0d4": {
                "Name": "ca_peerOrg2",
                "EndpointID": "de9889e88d0dc3f45239cc0a0ee1abe69b0f8aaf60419a6d3f92a5ecb89395f2",
                "MacAddress": "02:42:ac:12:00:0a",
                "IPv4Address": "172.18.0.10/16",
                "IPv6Address": ""
            },
            "bdc461a21b191a09829dd221ab813f9e1233be207b7635e3f081b639ed4fa274": {
                "Name": "orderer.blockaviation.com",
                "EndpointID": "1a9b37450ae5dacbaf359d3cddefd50acfc75f30b9d8015c334f3633956a471a",
                "MacAddress": "02:42:ac:12:00:02",
                "IPv4Address": "172.18.0.2/16",
                "IPv6Address": ""
            },
            "e4aeefaab1196824207f1a595635404c049ae15abacb773df8627d18876489b4": {
                "Name": "couchdb2",
                "EndpointID": "60b95f8970185d2329173634d2a393b2da31c368f893c674097f87d65ace1905",
                "MacAddress": "02:42:ac:12:00:04",
                "IPv4Address": "172.18.0.4/16",
                "IPv6Address": ""
            },
            "ead8ab6770df47b51dcbeb4914c8eb9265cfd7c5c799ff49918a044945ff9171": {
                "Name": "peer0.org3.blockaviation.com",
                "EndpointID": "e9875505aff36628f7dad492e2158fa82ec3291272b32f5b9507cda425888bd2",
                "MacAddress": "02:42:ac:12:00:0e",
                "IPv4Address": "172.18.0.14/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]
Simons-MBP:BA_multi_org simonmullaney$ docker inspect f79a2359276a
[
    {
        "Name": "bridge",
        "Id": "f79a2359276a533a516898109067f3f1f70188727d3c19322a74b51476c7ed8f",
        "Created": "2018-04-30T11:32:09.941991502Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.17.0.0/16",
                    "Gateway": "172.17.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "0ec4fe0586842b1562f7dbe5dc442922df8d298169a25c54515190764ec45f38": {
                "Name": "zealous_babbage",
                "EndpointID": "49b4949cf9bb5239d3ce94b6c8d436548178b33b0007b0c2ea78515c9ca50391",
                "MacAddress": "02:42:ac:11:00:02",
                "IPv4Address": "172.17.0.2/16",
                "IPv6Address": ""
            },
            "3b0b44a65ad6e945d0a684d10fc2d118ac778a3fc1bd456595f03f9f6ecea78b": {
                "Name": "friendly_curie",
                "EndpointID": "13160d1d380da4f485fab930938acadfc80867704fec93d50e4af647d63d5578",
                "MacAddress": "02:42:ac:11:00:05",
                "IPv4Address": "172.17.0.5/16",
                "IPv6Address": ""
            },
            "b8c6137baa9f53dafca0f20a75245ebf3f376c117a46d5004342186d303a9e05": {
                "Name": "ecstatic_cray",
                "EndpointID": "7dd9ddcf3f63b0b0c8ce3397ca98f7e41e7c3bb1b4e4edfda47899948f97f90b",
                "MacAddress": "02:42:ac:11:00:04",
                "IPv4Address": "172.17.0.4/16",
                "IPv6Address": ""
            },
            "c0e3a87b4b919d81fa2acea85dd14b71a589cd1b0eb92eb01c4e0695a431f9cf": {
                "Name": "pedantic_hodgkin",
                "EndpointID": "b614ee5cbbb708b43b71a52a6aec2069392d4b64d61f5135d88d233ba98b73ac",
                "MacAddress": "02:42:ac:11:00:03",
                "IPv4Address": "172.17.0.3/16",
                "IPv6Address": ""
            },
            "c5a8a0d3f76be59635b09c421445337f1ed0436e4a056c7601c8e38abc11e975": {
                "Name": "wonderful_hawking",
                "EndpointID": "a0b08e0921662f6ea1d3e77d2eb0c99e7fd97ad98286e09b635c3fef9d8f459f",
                "MacAddress": "02:42:ac:11:00:06",
                "IPv4Address": "172.17.0.6/16",
                "IPv6Address": ""
            }
        },
        "Options": {
            "com.docker.network.bridge.default_bridge": "true",
            "com.docker.network.bridge.enable_icc": "true",
            "com.docker.network.bridge.enable_ip_masquerade": "true",
            "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
            "com.docker.network.bridge.name": "docker0",
            "com.docker.network.driver.mtu": "1500"
        },
        "Labels": {}
    }
]

Composer v0.19.1

Fabric v1.1.0

1 个答案:

答案 0 :(得分:1)

感谢所有细节。

错误:14无法使用:连接失败

这是我之前与connection.json文件中的错误相关联的错误,CLI无法找到&#39; Fabric容器 - 通常是因为它们没有启动。值得检查connection.json文件是否有正确的地址,但我假设您已为每个组织成功composer network install

这是连接失败,因此您可以使用Docker网络处于正确的位置。

除非您指定不同的内容,否则Docker容器将在默认桥上运行。您可以在docker compose .yaml文件或docker run命令行中设置网络。

您可以使用docker inspect bridgedocker inspect ba_multi_org_blockaviation查看哪些容器位于哪个网络上。

您还可以在任何容器上启动shell会话,例如docker exec -it peer0.org1.example.com /bin/sh然后使用wget测试不同地址和端口的连接 - 这有助于识别连接问题。

wget不是完美的网络测试工具,但它已经安装在Fabric容器中了!我建议您在ubuntu主机上尝试这些示例,以了解成功和失败的连接:

wget www.ibm.com:80

wget www.ibm.com:9999

wget bad.bad.bad

然后从各种容器中尝试诸如

之类的命令

wget peer0.org1.example.com:7051

wget peer0.org1.example.com:7053

如果你看到wget错误这样的错误&#34;(连接由同行重置)&#34;这实际上是我们简单的寻址/端口/连接测试的成功! (我们真的不想要网络,我们只想知道我们可以“点击其他地址/端口”