'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)
我想我的问题是:
- 如何验证结构 运行 是否正确?
- 如果 运行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,然后开始工作。
因为我 运行 进入这个只是想我会清理它。使用 compose network deploy 创建的默认连接配置文件(不提供特定的连接配置文件)尝试连接到本地主机,因为 docker 工具箱使用 VM,您应该修改该 IP 的连接配置文件。
这也是它在 docker 中对 mac 有效的原因。
我正在按照 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)
我想我的问题是:
- 如何验证结构 运行 是否正确?
- 如果 运行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,然后开始工作。
因为我 运行 进入这个只是想我会清理它。使用 compose network deploy 创建的默认连接配置文件(不提供特定的连接配置文件)尝试连接到本地主机,因为 docker 工具箱使用 VM,您应该修改该 IP 的连接配置文件。
这也是它在 docker 中对 mac 有效的原因。