ポートマッピングをこのdocker-compose-couch.yamlに説明してください。 couchdb0
-ports: - "5984:5984"
Hyperledger Fabric V1.0ネットワーク設定用のyamlファイルのCouchdbポートマッピング
は、以下の
CONTAINER_NAMEに見てください
- CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS = couchdb0:5984CONTAINER_NAME:couchdb1
- ポート:
- "6984:5984"
- CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS = couchdb1:5984CONTAINER_NAME:couchdb2
-ports:
- "7984:5984"
- CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS = couchdb2:5984CONTAINER_NAME:couchdb3
-ports:
- "8984:5984"
- CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS = couchdb3:ここでは5984
- なぜ同じポート5984へのすべてのアドレスマッピング?ピアごとに別々のDBを使用するのではなく、同じDBを使用していますか?私は以下のURL
http://192.168.99.100:5984/_utils/#/database/mydemochannel/_all_docs http://192.168.99.100:6984/_utils/#/database/mydemochannel/_all_docs http://192.168.99.100:7984/_utils/#/database/mydemochannel/_all_docs http://192.168.99.100:8984/_utils/#/database/mydemochannel/_all_docs
を使用してFauxton UIを使用してDBを確認する際に、取引を行った後も
(192.168.99.100私の仮想マシンのIPですon windows 7 machine)
はすべて同じデータを示します。
- ここでは、暗号化されたデータまたはプレーンテキストの値をFauxton UIに表示していますか? Include Docのチェックボックスをオンにすると、その値も表示されます。私の理解によれば、値はピアの署名に基づいて暗号化されます(私が間違っていれば私を修正してください)、それで平文のジェイソンとして値をどのように表示していますか?
第2部はクリアです。しかし、最初の部分ではまだ疑問が残っています。 実際にこの 'CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS = couchdb2:5984'なぜ7984の代わりに5984を使用していますか?私の理解は左側のポートを使用して、それから与えられたマッピングに従って右側のポートにマップされるようなものだったからです。したがって、couchdb2:7984は最終的に5984にマップされます。このことを理解すると、ポート5984で実行されているdbインスタンスのみにマッピングされているように混乱してしまいます。結論として私の前提を訂正してください。 – Girish007
環境変数は、同じドッカーネットワークにマップするコンテナ内で有効になるため、内部ポート5984を使用できます。7984はホストマシンのポートマッピングであり、ホストマシンのipではなくコンテナ名を指定する必要があります。 –