我跟着hyperledger composer快速启动hyperledger fabric 1.0.0-alpha并在本地运行一个工作的超级分层结构。 我为composer playground下载了最新的(0.7.2)docker镜像,并根据docker hub说明启动了它,但是当我定义了
的URL时,我无法连接到我本地运行的hlfv1"type": "hlfv1",
"orderers": [
"grpc://localhost:7050"
],
"ca": "http://localhost:7054",
"peers": [
{
"requestURL": "grpc://localhost:7051",
"eventURL": "grpc://localhost:7053"
},
{
"requestURL": "grpc://localhost:7056",
"eventURL": "grpc://localhost:7058"
}
],
"keyValStore": "/home/ubuntu/.hfc-key-store",
"channel": "mychannel",
"mspID": "Org1MSP",
"deployWaitTime": "300",
"invokeWaitTime": "100"
用户界面挂起按钮中的旋转图标。 这有什么问题?
答案 0 :(得分:1)
这是由于docker-compose在自己的网络中启动超级分层结构运行时。如果您遵循快速入门指南,那么它将创建的网络称为“hlfv1_default”。 当你启动另一个docker容器时,除非你明确说明你希望它成为哪个网络,否则它将被添加到“bridge”。这将环境彼此隔离。 您可以使用命令
查看网络docker network ls
为了让composer docker容器与本地结构通信,您需要确保它连接到本地结构网络。例如,如果您的本地结构位于网络hlfv1_default
上,那么您可以使用命令将composer-playground连接到该网络
docker run --network hlfv1_default --name composer-playground --publish 8080:8080 --detach hyperledger/composer-playground
完成后,您可以创建连接配置文件但是,您不能使用localhost,您必须使用docker-compose创建的主机名。对于目前使用hlf v1.0.0-alpha(而不是alpha2)的快速入门,您将使用类似于
的连接配置文件"type": "hlfv1",
"orderers": [
"grpc://orderer0:7050"
],
"ca": "http://ca0:7054",
"peers": [
{
"requestURL": "grpc://peer0:7051",
"eventURL": "grpc://peer0:7053"
},
{
"requestURL": "grpc://peer1:7056",
"eventURL": "grpc://peer1:7058"
}
],
"keyValStore": "/home/composer/.hfc-key-store",
"channel": "mychannel",
"mspID": "Org1MSP",
"deployWaitTime": "300",
"invokeWaitTime": "100"
请注意使用用于启动本地结构的docker-compose文件中的服务名称替换localhost:'orderer0','ca0','peer0','peer1'。
一个有用的工具是docker network inspect
命令,它将显示哪些容器正在使用该网络。