docker版本的composer playground无法连接到本地hlf 1.0.0-alpha运行时

时间:2017-05-22 15:56:09

标签: hyperledger-composer

我跟着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"

用户界面挂起按钮中的旋转图标。 这有什么问题?

1 个答案:

答案 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命令,它将显示哪些容器正在使用该网络。