在composer中将主机名更改为docker可解析的主机名

时间:2019-03-19 20:45:45

标签: docker hyperledger-fabric hyperledger-composer google-oauth2 google-authentication

我正在根据以下教程设置具有Google身份验证的作曲家休息服务器: Using Google OAUTH2.0 with a REST server

工作正常。但是,在创建每个参与者之后,我需要更改主机名以表示Docker可解析的主机名。例如:

1-添加参与者:

   composer participant add -c admin@trade-network -d '{"$class":"org.example.trading.Trader","tradeId":"trader1", "firstName":"Jo","lastName":"Doe"}'

composer identity issue -c admin@trade-network -f jdoe.card -u jdoe -a "resource:org.example.trading.Trader#trader1"
composer card import -f jdoe.card

2-更改主机名:

sed -e 's/localhost:7051/peer0.org1.example.com:7051/' -e 's/localhost:7053/peer0.org1.example.com:7053/' -e 's/localhost:7054/ca.org1.example.com:7054/'  -e 's/localhost:7050/orderer.example.com:7050/'  < $HOME/.composer/cards/jdoe@trade-network/connection.json  > /tmp/connection.json && cp -p /tmp/connection.json $HOME/.composer/cards/jdoe@trade-network/ 

这种方法适合快速解析主机名。但是我想知道是否有更好的方法,不需要在每次添加参与者时都手动运行第二个命令。理想情况下,我想为将来将要添加的所有参与者设置正确的主机名。

1 个答案:

答案 0 :(得分:0)

是的,确实有比第二个命令更干净的方法来执行此操作。最有效的方法是一开始就设置对等管理卡。在Installing the development environment教程中首次设置Fabric网络时,您在步骤控制开发环境时使用了命令./createPeerAdminCard.sh来生成对等管理卡。这是您生成非常第一连接配置文件的地方,所有其他名片都基于此配置文件。

您需要做的是在此步骤使用--host标志设置正确的主机名(该标志的记录不正确,但我在source code here中发现了它)

./createPeerAdminCard.sh  --host {{HOST}}

您当然记得用正确的主机名(例如{{HOST}})替换fabric-endpoint.example.com:8080