如何将带有端口的超级控制结构对等体(第2,3,4)映射到REST通信

我已经使用docker-Toolbox在Windows 7 64位操作系统上使用了超级结构0.6环境设置,我正在使用REST API客户端来触发请求。 以下是我的四级ca.yaml泊坞窗撰写文件: –

version: "2" services: baseimage: image: hyperledger/fabric-baseimage:latest membersrvc: image: hyperledger/fabric-membersrvc ports: - "7054:7054" command: membersrvc environment: - MEMBERSRVC_CA_LOGGING_SERVER=INFO - MEMBERSRVC_CA_LOGGING_CA=INFO - MEMBERSRVC_CA_LOGGING_ECA=INFO - MEMBERSRVC_CA_LOGGING_ECAP=INFO - MEMBERSRVC_CA_LOGGING_ECAA=INFO - MEMBERSRVC_CA_LOGGING_ACA=INFO - MEMBERSRVC_CA_LOGGING_ACAP=INFO - MEMBERSRVC_CA_LOGGING_TCA=INFO - MEMBERSRVC_CA_LOGGING_TCAP=INFO - MEMBERSRVC_CA_LOGGING_TCAA=INFO - MEMBERSRVC_CA_LOGGING_TLSCA=INFO vp0: image: hyperledger/fabric-peer volumes: - /var/run/docker.sock:/var/run/docker.sock ports: - "7050:7050" - "7051:7051" - "7053:7053" environment: - CORE_PEER_ID=vp0 - CORE_SECURITY_ENROLLID=test_vp0 - CORE_SECURITY_ENROLLSECRET=MwYpmSRjupbT - CORE_PEER_DISCOVERY_PERIOD=60s - CORE_PEER_DISCOVERY_TOUCHPERIOD=61s - CORE_PEER_ADDRESSAUTODETECT=true - CORE_VM_ENDPOINT=unix:///var/run/docker.sock - CORE_LOGGING_LEVEL=DEBUG - CORE_PEER_PKI_ECA_PADDR=membersrvc:7054 - CORE_PEER_PKI_TCA_PADDR=membersrvc:7054 - CORE_PEER_PKI_TLSCA_PADDR=membersrvc:7054 - CORE_SECURITY_ENABLED=true - CORE_PEER_VALIDATOR_CONSENSUS_PLUGIN=pbft - CORE_PBFT_GENERAL_MODE=batch - CORE_PBFT_GENERAL_N=4 command: sh -c "sleep 10; peer node start" links: - membersrvc vp1: image: hyperledger/fabric-peer volumes: - /var/run/docker.sock:/var/run/docker.sock ports: - "8050:7050" - "8051:7051" - "8053:7053" environment: - CORE_PEER_DISCOVERY_ROOTNODE=vp0:7051 - CORE_PEER_ID=vp1 - CORE_SECURITY_ENROLLID=test_vp1 - CORE_SECURITY_ENROLLSECRET=5wgHK9qqYaPy - CORE_PEER_DISCOVERY_PERIOD=60s - CORE_PEER_DISCOVERY_TOUCHPERIOD=61s - CORE_PEER_ADDRESSAUTODETECT=true - CORE_VM_ENDPOINT=unix:///var/run/docker.sock - CORE_LOGGING_LEVEL=DEBUG - CORE_PEER_PKI_ECA_PADDR=membersrvc:7054 - CORE_PEER_PKI_TCA_PADDR=membersrvc:7054 - CORE_PEER_PKI_TLSCA_PADDR=membersrvc:7054 - CORE_SECURITY_ENABLED=true - CORE_PEER_VALIDATOR_CONSENSUS_PLUGIN=pbft - CORE_PBFT_GENERAL_MODE=batch - CORE_PBFT_GENERAL_N=4 links: - membersrvc - vp0 command: sh -c "sleep 10; peer node start" vp2: image: hyperledger/fabric-peer volumes: - /var/run/docker.sock:/var/run/docker.sock ports: - "9050:7050" - "9051:7051" - "9053:7053" environment: - CORE_PEER_DISCOVERY_ROOTNODE=vp0:7051 - CORE_PEER_ID=vp2 - CORE_SECURITY_ENROLLID=test_vp2 - CORE_SECURITY_ENROLLSECRET=vQelbRvja7cJ - CORE_PEER_DISCOVERY_PERIOD=60s - CORE_PEER_DISCOVERY_TOUCHPERIOD=61s - CORE_PEER_ADDRESSAUTODETECT=true - CORE_VM_ENDPOINT=unix:///var/run/docker.sock - CORE_LOGGING_LEVEL=DEBUG - CORE_PEER_PKI_ECA_PADDR=membersrvc:7054 - CORE_PEER_PKI_TCA_PADDR=membersrvc:7054 - CORE_PEER_PKI_TLSCA_PADDR=membersrvc:7054 - CORE_SECURITY_ENABLED=true - CORE_PEER_VALIDATOR_CONSENSUS_PLUGIN=pbft - CORE_PBFT_GENERAL_MODE=batch - CORE_PBFT_GENERAL_N=4 links: - membersrvc - vp0 command: sh -c "sleep 10; peer node start" vp3: image: hyperledger/fabric-peer volumes: - /var/run/docker.sock:/var/run/docker.sock ports: - "10050:7050" - "10051:7051" - "10053:7053" environment: - CORE_PEER_DISCOVERY_ROOTNODE=vp0:7051 - CORE_PEER_ID=vp3 - CORE_SECURITY_ENROLLID=test_vp3 - CORE_SECURITY_ENROLLSECRET=9LKqKH5peurL - CORE_PEER_DISCOVERY_PERIOD=60s - CORE_PEER_DISCOVERY_TOUCHPERIOD=61s - CORE_PEER_ADDRESSAUTODETECT=true - CORE_VM_ENDPOINT=unix:///var/run/docker.sock - CORE_LOGGING_LEVEL=DEBUG - CORE_PEER_PKI_ECA_PADDR=membersrvc:7054 - CORE_PEER_PKI_TCA_PADDR=membersrvc:7054 - CORE_PEER_PKI_TLSCA_PADDR=membersrvc:7054 - CORE_SECURITY_ENABLED=true - CORE_PEER_VALIDATOR_CONSENSUS_PLUGIN=pbft - CORE_PBFT_GENERAL_MODE=batch - CORE_PBFT_GENERAL_N=4 links: - membersrvc - vp0 command: sh -c "sleep 10; peer node start"** 

// ————使用docker-compose up命令,我的服务器已经启动,并且所有4个对等体都成功创build。 在另一个dockerterminal我执行下面的命令也工作正常:

 CORE_CHAINCODE_ID_NAME=mycc006 CORE_PEER_ADDRESS=192.168.99.100:7051 ./chaincode_example02 

由于我使用docker工具箱只有192.168.99.100是CORE_PEER_ADDRESS的可接受的IP地址。

对于所有操作,REST API请求只响应 – 192.168.99.100:7050/chaincode

您可以在上面的docker-compose文件中看到,我已经用不同的端口映射了vp1,vp2,vp3并将其转发给vp0。

但是,当我尝试使用任何其他对等,例如vp1使用192.168.99.100:8050/chaincode请求失败,因为没有来自vp1,vp2,vp3的响应,即使我已经专门映射与这些对等端口。 Docker ps命令显示memersrvc和所有4个对等容器正在运行,但端口仅分配给vp0。

如何将其他端口vp1,vp2,vp3与端口映射以便通过REST API访问它们? 任何帮助或指导将不胜感激。

谢谢。

你的docker-compose文件在映射中的一些小问题旁边看起来不错,我猜想它与在stackoverflow上的渲染有关。 问题是REST端点根本不工作吗? 例如http:// localhost:10050 /链不可访问? 如果是这样的话,您可能需要确保您使用的是正确的映像hyperledger / fabric-peer:x86_64-0.6.1-preview,因为docker -compose文件也适用于1.0-alpha映像,但是REST API是失踪。 这个稍加修改的docker-compose文件我附在下面的框中。 如果这解决了你的问题,你必须看看你的docker图像,看看最新的标签指向的地方。

 version: "2" services: # baseimage: image: hyperledger/fabric-baseimage:latest membersrvc: image: hyperledger/fabric-membersrvc ports: - "7054:7054" command: membersrvc environment: - MEMBERSRVC_CA_LOGGING_SERVER=INFO - MEMBERSRVC_CA_LOGGING_CA=INFO - MEMBERSRVC_CA_LOGGING_ECA=INFO - MEMBERSRVC_CA_LOGGING_ECAP=INFO - MEMBERSRVC_CA_LOGGING_ECAA=INFO - MEMBERSRVC_CA_LOGGING_ACA=INFO - MEMBERSRVC_CA_LOGGING_ACAP=INFO - MEMBERSRVC_CA_LOGGING_TCA=INFO - MEMBERSRVC_CA_LOGGING_TCAP=INFO - MEMBERSRVC_CA_LOGGING_TCAA=INFO - MEMBERSRVC_CA_LOGGING_TLSCA=INFO vp0: image: hyperledger/fabric-peer:x86_64-0.6.1-preview volumes: - /var/run/docker.sock:/var/run/docker.sock ports: - "7050:7050" - "7051:7051" - "7053:7053" environment: - CORE_PEER_ID=vp0 - CORE_SECURITY_ENROLLID=test_vp0 - CORE_SECURITY_ENROLLSECRET=MwYpmSRjupbT - CORE_PEER_DISCOVERY_PERIOD=60s - CORE_PEER_DISCOVERY_TOUCHPERIOD=61s - CORE_PEER_ADDRESSAUTODETECT=true - CORE_VM_ENDPOINT=unix:///var/run/docker.sock - CORE_LOGGING_LEVEL=DEBUG - CORE_PEER_PKI_ECA_PADDR=membersrvc:7054 - CORE_PEER_PKI_TCA_PADDR=membersrvc:7054 - CORE_PEER_PKI_TLSCA_PADDR=membersrvc:7054 - CORE_SECURITY_ENABLED=true - CORE_PEER_VALIDATOR_CONSENSUS_PLUGIN=pbft - CORE_PBFT_GENERAL_MODE=batch - CORE_PBFT_GENERAL_N=4 command: sh -c "sleep 10; peer node start" links: - membersrvc vp1: image: hyperledger/fabric-peer:x86_64-0.6.1-preview volumes: - /var/run/docker.sock:/var/run/docker.sock ports: - "8050:7050" - "8051:7051" - "8053:7053" environment: - CORE_PEER_DISCOVERY_ROOTNODE=vp0:7051 - CORE_PEER_ID=vp1 - CORE_SECURITY_ENROLLID=test_vp1 - CORE_SECURITY_ENROLLSECRET=5wgHK9qqYaPy - CORE_PEER_DISCOVERY_PERIOD=60s - CORE_PEER_DISCOVERY_TOUCHPERIOD=61s - CORE_PEER_ADDRESSAUTODETECT=true - CORE_VM_ENDPOINT=unix:///var/run/docker.sock - CORE_LOGGING_LEVEL=DEBUG - CORE_PEER_PKI_ECA_PADDR=membersrvc:7054 - CORE_PEER_PKI_TCA_PADDR=membersrvc:7054 - CORE_PEER_PKI_TLSCA_PADDR=membersrvc:7054 - CORE_SECURITY_ENABLED=true - CORE_PEER_VALIDATOR_CONSENSUS_PLUGIN=pbft - CORE_PBFT_GENERAL_MODE=batch - CORE_PBFT_GENERAL_N=4 links: - membersrvc - vp0 command: sh -c "sleep 10; peer node start" vp2: image: hyperledger/fabric-peer:x86_64-0.6.1-preview volumes: - /var/run/docker.sock:/var/run/docker.sock ports: - "9050:7050" - "9051:7051" - "9053:7053" environment: - CORE_PEER_DISCOVERY_ROOTNODE=vp0:7051 - CORE_PEER_ID=vp2 - CORE_SECURITY_ENROLLID=test_vp2 - CORE_SECURITY_ENROLLSECRET=vQelbRvja7cJ - CORE_PEER_DISCOVERY_PERIOD=60s - CORE_PEER_DISCOVERY_TOUCHPERIOD=61s - CORE_PEER_ADDRESSAUTODETECT=true - CORE_VM_ENDPOINT=unix:///var/run/docker.sock - CORE_LOGGING_LEVEL=DEBUG - CORE_PEER_PKI_ECA_PADDR=membersrvc:7054 - CORE_PEER_PKI_TCA_PADDR=membersrvc:7054 - CORE_PEER_PKI_TLSCA_PADDR=membersrvc:7054 - CORE_SECURITY_ENABLED=true - CORE_PEER_VALIDATOR_CONSENSUS_PLUGIN=pbft - CORE_PBFT_GENERAL_MODE=batch - CORE_PBFT_GENERAL_N=4 links: - membersrvc - vp0 command: sh -c "sleep 10; peer node start" vp3: image: hyperledger/fabric-peer:x86_64-0.6.1-preview volumes: - /var/run/docker.sock:/var/run/docker.sock ports: - "10050:7050" - "10051:7051" - "10053:7053" environment: - CORE_PEER_DISCOVERY_ROOTNODE=vp0:7051 - CORE_PEER_ID=vp3 - CORE_SECURITY_ENROLLID=test_vp3 - CORE_SECURITY_ENROLLSECRET=9LKqKH5peurL - CORE_PEER_DISCOVERY_PERIOD=60s - CORE_PEER_DISCOVERY_TOUCHPERIOD=61s - CORE_PEER_ADDRESSAUTODETECT=true - CORE_VM_ENDPOINT=unix:///var/run/docker.sock - CORE_LOGGING_LEVEL=DEBUG - CORE_PEER_PKI_ECA_PADDR=membersrvc:7054 - CORE_PEER_PKI_TCA_PADDR=membersrvc:7054 - CORE_PEER_PKI_TLSCA_PADDR=membersrvc:7054 - CORE_SECURITY_ENABLED=true - CORE_PEER_VALIDATOR_CONSENSUS_PLUGIN=pbft - CORE_PBFT_GENERAL_MODE=batch - CORE_PBFT_GENERAL_N=4 links: - membersrvc - vp0 command: sh -c "sleep 10; peer node start"