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

docker version of composer playground is not able to connect to local hlf 1.0.0-alpha runtime

我按照 hyperledger fabric 1.0.0-alpha 的 hyperledger composer quick start 进行操作,并在本地有一个工作的 hyperledger fabric 运行。 我为 composer playground 下载了最新的 (0.7.2) docker 图像并按照 docker 集线器说明启动了它,但是当我定义

的网址
"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"

UI 挂起,按钮中有一个旋转图标。 这里有什么问题?

这是由于 docker-compose 在其自己的网络中启动了 hyperledger fabric 运行时。如果您按照快速入门指南进行操作,那么它将创建的网络称为 "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

完成后,您可以创建连接配置文件,但是,您不能使用本地主机,您必须使用 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"

请注意将 localhost 替换为用于启动本地结构的 docker-compose 文件中的服务名称:'orderer0'、'ca0'、'peer0'、'peer1'.

一个有用的工具是 docker network inspect 命令,它会显示哪些容器正在使用该网络。