'Getting Started' mac 上的 fabric-composer - 启动 Fabric 时出错或部署到 fabric 时出错

'Getting Started' fabric-composer on mac - error starting Fabric or error deploying to fabric

我正在按照 https://fabric-composer.github.io/start/quickstart.html 上的说明进行操作。以下是先决条件的版本。

macOS 10.12.3
$> docker --version
Docker version 1.12.5, build 7392c3b
$> docker-machine --version
docker-machine version 0.8.2, build e18a919
$> docker-compose --version
docker-compose version 1.9.0, build 2585387
$> node --version
v6.4.0
$> npm --version
4.0.3
$> git --version
git version 2.10.1 (Apple Git-78)

当我 运行 npm install 脚本永远不会超过这一点:

# Wait for the Hyperledger Fabric to start.
while ! nc localhost 7051 </dev/null; do sleep 1; done

如果我进入脚本文件夹和 运行 docker-compose up --build(没有 -d 选项),它会执行一堆看似有效的启动操作,然后此输出重复 &结束了。

vp0_1         | 15:42:09.904 [peer] ensureConnected -> DEBU 08f Touch service indicates no dropped connections
vp0_1         | 15:42:09.904 [peer] ensureConnected -> DEBU 090 Connected to: []
vp0_1         | 15:42:09.904 [peer] ensureConnected -> DEBU 091 Discovery knows about: []
vp0_1         | 15:42:15.903 [peer] ensureConnected -> DEBU 092 Touch service indicates no dropped connections
vp0_1         | 15:42:15.903 [peer] ensureConnected -> DEBU 093 Connected to: []
vp0_1         | 15:42:15.903 [peer] ensureConnected -> DEBU 094 Discovery knows about: []

然后 运行 deployNetwork 脚本时,出现此错误

getting-started> composer network deploy --archiveFile digitalPropertyNetwork.bna  --enrollId WebAppAdmin --enrollSecret DJY27pEnl16d
Deploying business network from archive digitalPropertyNetwork.bna
Business network definition:
    Identifier: digitalproperty-network@0.0.1
    Description: Digital Property Network
events.js:160
      throw er; // Unhandled 'error' event
      ^

Error
    at ClientDuplexStream._emitStatusIfDone (/usr/local/lib/node_modules/composer-cli/node_modules/grpc/src/node/src/client.js:189:19)
    at ClientDuplexStream._readsDone (/usr/local/lib/node_modules/composer-cli/node_modules/grpc/src/node/src/client.js:158:8)
    at readCallback (/usr/local/lib/node_modules/composer-cli/node_modules/grpc/src/node/src/client.js:217:12)

我想我的问题是:

  1. 如何验证结构 运行 是否正确?
  2. 如果 运行ning 正确,为什么部署命令会出错?

更新... docker ps命令的输出是

$> docker ps
CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS                                                      NAMES
167c9b93d386        hyperledger/fabric-peer         "sh -c 'sleep 5; peer"   About an hour ago   Up About an hour    0.0.0.0:7050-7053->7050-7053/tcp                           scripts_vp0_1
8aedcfa73607        hyperledger/fabric-membersrvc   "membersrvc"             About an hour ago   Up About an hour    0.0.0.0:7054->7054/tcp                                     scripts_membersrvc_1

据我所见,您的 fabric peer 和 memberservices 节点似乎已正确创建并且仍然是 运行,但业务网络阶段的部署失败。

您可以使用 docker logs -f 167c9b93d386 查看是否有任何来自对等方的关于部署失败原因的指示。

如果那里没有任何指示,那么我很想再次尝试使用: scripts/teardown.sh rm -rf $HOME/.composer-credentials npm install

我正在使用 Docker 工具箱。我切换到 Docker For Mac,然后开始工作。

https://docs.docker.com/docker-for-mac/docker-toolbox/

因为我 运行 进入这个只是想我会清理它。使用 compose network deploy 创建的默认连接配置文件(不提供特定的连接配置文件)尝试连接到本地主机,因为 docker 工具箱使用 VM,您应该修改该 IP 的连接配置文件。

这也是它在 docker 中对 mac 有效的原因。