Hyperledger Fabric对等容器无法与Couchdb容器通信 [英] Hyperledger Fabric peer container cannot communicate with couchdb container

查看:241
本文介绍了Hyperledger Fabric对等容器无法与Couchdb容器通信的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试配置超级账本结构网络. 我经营着三名动物园管理员,三名kafkas,三名定购者和一个couchdb. 它们是docker容器,运作良好.所有容器都在同一个称为ibknet的docker网络中. 在那之后,我运行对等容器,但是在启动它时无法检测到couchdb容器.这是我运行对等容器的命令.

I am trying to configure hyperledger fabric network. I run three zookeepers, three kafkas, three orderers and a couchdb. They are docker containers and work well. All containers are in the same docker network called ibknet. After that, I run peer container but it has a problem to detect couchdb container while its starting. Here is my command to run peer container.

docker run -d --name main.stock.ibk.com --hostname main.stock.ibk.com \ -p 7051:7051 \ -p 7053:7053 \ -e CORE_LEDGER_STATE_STATEDATABASE=CouchDB \ -e CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb0:5984 \ --network ibknet hyperledger/fabric-peer:x86_64-1.0.4

docker run -d --name main.stock.ibk.com --hostname main.stock.ibk.com \ -p 7051:7051 \ -p 7053:7053 \ -e CORE_LEDGER_STATE_STATEDATABASE=CouchDB \ -e CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb0:5984 \ --network ibknet hyperledger/fabric-peer:x86_64-1.0.4

这是在执行上述命令之前正在运行的Docker容器的列表.

Here is the list of running docker containers before executing the command above.

0b49e1d9e135        hyperledger/fabric-couchdb:x86_64-1.0.4     "tini -- /docker-e..."   28 minutes ago      Up 28 minutes               4369/tcp, 5984/tcp, 9100/tcp   couchdb0
592e81a721f1        hyperledger/fabric-orderer:x86_64-1.0.4     "orderer"                28 minutes ago      Up 28 minutes               0.0.0.0:9050->7050/tcp         orderer2
5a0d0f05770d        hyperledger/fabric-orderer:x86_64-1.0.4     "orderer"                28 minutes ago      Up 28 minutes               0.0.0.0:8050->7050/tcp         orderer1
681894ae835a        hyperledger/fabric-orderer:x86_64-1.0.4     "orderer"                28 minutes ago      Up 28 minutes               0.0.0.0:7050->7050/tcp         orderer0
2c1910c3e293        hyperledger/fabric-kafka:x86_64-1.0.4       "/docker-entrypoin..."   28 minutes ago      Up 28 minutes               9092-9093/tcp                  kafka2
b27ff82abd3d        hyperledger/fabric-kafka:x86_64-1.0.4       "/docker-entrypoin..."   29 minutes ago      Up 28 minutes               9092-9093/tcp                  kafka1
2f84d000c2d6        hyperledger/fabric-kafka:x86_64-1.0.4       "/docker-entrypoin..."   29 minutes ago      Up 28 minutes               9092-9093/tcp                  kafka0
25438ef57579        hyperledger/fabric-zookeeper:x86_64-1.0.4   "/docker-entrypoin..."   29 minutes ago      Up 29 minutes               2181/tcp, 2888/tcp, 3888/tcp   zookeeper2
c01262ae099e        hyperledger/fabric-zookeeper:x86_64-1.0.4   "/docker-entrypoin..."   29 minutes ago      Up 29 minutes               2181/tcp, 2888/tcp, 3888/tcp   zookeeper1
f95e92b10b25        hyperledger/fabric-zookeeper:x86_64-1.0.4   "/docker-entrypoin..."   29 minutes ago      Up 29 minutes               2181/tcp, 2888/tcp, 3888/tcp   zookeeper0

当我运行对等容器时,我在docker日志中收到了此错误消息.

And I got this error messages in docker logs when I run the peer container.

2017-12-01 07:26:34.238 UTC [ledgermgmt] initialize -> INFO 002 Initializing ledger mgmt
2017-12-01 07:26:34.238 UTC [kvledger] NewProvider -> INFO 003 Initializing ledger provider
2017-12-01 07:26:34.624 UTC [couchdb] handleRequest -> WARN 004 Retrying couchdb request in 125ms. Attempt:1  Error:Get http://couchdb0:5984/: dial tcp 75.126.101.240:5984: getsockopt: connection refused
2017-12-01 07:26:34.987 UTC [couchdb] handleRequest -> WARN 005 Retrying couchdb request in 250ms. Attempt:2  Error:Get http://couchdb0:5984/: dial tcp 75.126.101.240:5984: getsockopt: connection refused
2017-12-01 07:26:35.533 UTC [couchdb] handleRequest -> WARN 006 Retrying couchdb request in 500ms. Attempt:3  Error:Get http://couchdb0:5984/: dial tcp 75.126.101.240:5984: getsockopt: connection refused
2017-12-01 07:26:36.279 UTC [couchdb] handleRequest -> WARN 007 Retrying couchdb request in 1s. Attempt:4  Error:Get http://couchdb0:5984/: dial tcp 75.126.101.240:5984: getsockopt: connection refused
2017-12-01 07:26:37.617 UTC [couchdb] handleRequest -> WARN 008 Retrying couchdb request in 2s. Attempt:5  Error:Get http://couchdb0:5984/: dial tcp 75.126.101.240:5984: getsockopt: connection refused
2017-12-01 07:26:39.819 UTC [couchdb] handleRequest -> WARN 009 Retrying couchdb request in 4s. Attempt:6  Error:Get http://couchdb0:5984/: dial tcp 75.126.101.240:5984: getsockopt: connection refused
2017-12-01 07:26:44.019 UTC [couchdb] handleRequest -> WARN 00a Retrying couchdb request in 8s. Attempt:7  Error:Get http://couchdb0:5984/: dial tcp 75.126.101.240:5984: getsockopt: connection refused
2017-12-01 07:26:52.279 UTC [couchdb] handleRequest -> WARN 00b Retrying couchdb request in 16s. Attempt:8  Error:Get http://couchdb0:5984/: dial tcp 75.126.101.240:5984: getsockopt: connection refused
2017-12-01 07:27:08.515 UTC [couchdb] handleRequest -> WARN 00c Retrying couchdb request in 32s. Attempt:9  Error:Get http://couchdb0:5984/: dial tcp 75.126.101.240:5984: getsockopt: connection refused
2017-12-01 07:27:40.730 UTC [couchdb] handleRequest -> WARN 00d Retrying couchdb request in 1m4s. Attempt:10  Error:Get http://couchdb0:5984/: dial tcp 75.126.101.240:5984: getsockopt: connection refused
panic: Error in instantiating ledger provider: Unable to connect to CouchDB, check the hostname and port: Get http://couchdb0:5984/: dial tcp 75.126.101.240:5984: getsockopt: connection refused

我想念什么?而且我不知道75.126.101.240的地址是哪里.

What do I miss? And I have no idea that where 75.126.101.240 address is from.

实际上,我可以通过--add-host选项成功运行它,只需提及确切的ip.但是我认为这不是正确的方法,因为每当我启动docker服务器时ip都会发生变化.

Actually, I could succeed in running it with --add-host option by mentioning exactly ip. But I don't think that is a proper way because ip is changing whenever I start docker servers.

请帮助解决此问题.谢谢.

Please help this issue. Thanks.

推荐答案

尝试添加:"--dns-search".到docker run命令.主机系统上的解析器可能已配置为在域中附加/搜索未知主机. "--dns-search."应该仅通过嵌入式Docker DNS强制进行解析

Try adding : "--dns-search ." to the docker run command. The resolver on your host system is likely configured to append / search a domain for unknown hosts. "--dns-search ." should force resolution only via the embedded Docker DNS

这篇关于Hyperledger Fabric对等容器无法与Couchdb容器通信的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆