有人可以請解釋此docker-compose-couch.yaml中的端口映射。yaml文件中的Couchdb端口映射用於Hyperledger Fabric V1.0網絡設置
請查看以下
CONTAINER_NAME:couchdb0
-ports:
- 「5984:5984」
- 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?它是否使用相同的數據庫而不是爲每個對等使用單獨的數據庫?
而且進行交易,當我使用下面的網址
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
(192.168.99.100是我的虛擬機IP查詢使用Fauxton UI數據庫後on windows 7 machine)
全部顯示相同的數據。
- 我的疑問是,它顯示加密數據或純文本值在Fauxton UI?一旦我勾選包括文檔的複選框,它也顯示值。根據我的理解,這些值將根據同行簽名進行加密(如果我錯了,請糾正我),那麼它是如何顯示作爲純文本jason的價值的?
第二部分很明確。但是第一部分仍然存在一些疑問。 其實這個'CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS = couchdb2:5984'爲什麼在這裏使用5984而不是7984?因爲我的理解是應該使用左側端口,然後根據給定的映射將它映射到右側的端口。所以couchdb2:7984最終會映射到5984.有了這個理解,我就會感到困惑,因爲所有的映射都只映射到運行在5984端口上的db實例。所以作爲結論,請糾正我的這個假設,然後我可以將它標記爲接受的答案。 – Girish007
環境變量在映射到同一個docker網絡的容器內生效,因此它可以使用內部端口5984. 7984是託管機器上的端口映射,爲了解決它,您需要指定主機機器ip而不是容器名稱。 –