我已成功启动第一个网络,它由4个对等组成,每个组织2个。使用docker exec cli
我只能向peer0.org1.example.com
发送命令。问题是我如何向peer0.or2.example.com
发送电话?在文档中,它说:
要使以下针对peer0.org1.example.com的CLI命令起作用,我们需要在命令前加上下面给出的四个环境变量。 peer0.org1.example.com的这些变量被烘焙到CLI容器中,因此我们可以在不传递它们的情况下进行操作。但是,如果要将呼叫发送到其他对等方或订货方,则需要相应地提供这些值。检查docker-compose-base.yaml以获取特定路径:
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
CORE_PEER_ADDRESS = peer0.org1.example.com:7051
CORE_PEER_LOCALMSPID =" Org1MSP"
CORE_PEER_TLS_ROOTCERT_FILE = /选择/ GOPATH / SRC / github.com / hyperledger /织物/对等体/加密/ peerOrganizations / org1.example.com /对等方/ peer0.org1.example.com / TLS / ca.crt
因此,当我更改这些变量时,例如CORE_PEER_LOCALMSPID =" Org2MSP"等等 - 没有任何变化,因为当我docker exec it cli bash
然后在docker中作为对等echo $CORE_PEER_LOCALMSPID
它仍然说Org1Msp
答案 0 :(得分:1)
根据您的解释,您可能会在进入cli容器之前设置环境变量。当你进入cli容器时,这将无效,它会将环境变量重置为你在compose文件中设置的变量,我假设你已经引导到了org1的peer0。
您需要先进入cli容器并在该环境中设置变量。在那之后,如果你回声,你会看到变化。再次,如果您再退出并再次输入,则所有变量将重置为自举变量。
另一个选择是更改compose文件中的变量,或者让另一个cli容器引导到另一个peer / org。
答案 1 :(得分:0)
或者,您可以对每个对等方使用cli(虽然在yaml文件中太多了),然后为运行任何命令启动cli。