0

我已经将我的超级账本结构网络和我的客户端应用程序(使用fabric-sdk-go)部署在一台机器上(使用docker compose)并且一切正常,但是我正在尝试将我的网络与不同主机上的容器一起部署(使用一个带有 docker swarm 的覆盖网络)。此步骤有效,但我的客户端应用程序无法正常工作,因为它无法与不同主机上的容器通信。我认为问题与我的 config.yaml 文件中的实体匹配器部分有关。对于我的原始解决方案(单主机)实体匹配器设置如下:

entityMatchers:
  peer:
    - pattern: (\w*)peer0.org1.app.com(\w*)
      urlSubstitutionExp: localhost:7051
      eventUrlSubstitutionExp: localhost:7053
      sslTargetOverrideUrlSubstitutionExp: peer0.org1.app.com
      mappedHost: peer0.org1.app.com

    - pattern: (\w*)peer1.org1.app.com(\w*)
      urlSubstitutionExp: localhost:8051
      eventUrlSubstitutionExp: localhost:8053
      sslTargetOverrideUrlSubstitutionExp: peer1.org1.app.com
      mappedHost: peer1.org1.app.com

  orderer:
    - pattern: (\w*)orderer.app.com(\w*)
      urlSubstitutionExp: grpc://localhost:7050
      sslTargetOverrideUrlSubstitutionExp: orderer.app.com
      mappedHost: orderer.app.com

  certificateAuthorities:
    - pattern: (\w*)ca.org1.app.com(\w*)
      urlSubstitutionExp: http://localhost:7054
      mappedHost: ca.org1.app.com

对于我在多台主机上的解决方案,我在一台主机上设置了 ca 和 orderer,在其他主机上设置了 peer0 和 peer 1。我的问题是:如何将 localhost 替换为不同主机上相应容器的 url?(如果问题确实如此)

注意:我尝试将 localhost 更改为 docker 容器的名称,但没有成功

4

0 回答 0