我正在使用Hyperledger Fabric 1.3.0。在fabric-samples / first-network中执行“ byfn.sh -m up”时,出现以下错误。
从通道“ mychannel”开始,CLI超时为“ 10”秒,CLI延迟为“ 3”秒 继续? [是/否]是 进行中... LOCAL_VERSION = 1.3.0 DOCKER_IMAGE_VERSION = 1.3.0 错误:无此类容器:cli 错误!!!!测试失败
请帮助
我没有docker-compose.yaml,但是我有docker-compose-cli.yaml。内容如下:
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#
version: '2'
volumes:
orderer.example.com:
peer0.org1.example.com:
peer1.org1.example.com:
peer0.org2.example.com:
peer1.org2.example.com:
networks:
byfn:
services:
orderer.example.com:
extends:
file: base/docker-compose-base.yaml
service: orderer.example.com
container_name: orderer.example.com
networks:
- byfn
peer0.org1.example.com:
container_name: peer0.org1.example.com
extends:
file: base/docker-compose-base.yaml
service: peer0.org1.example.com
networks:
- byfn
peer1.org1.example.com:
container_name: peer1.org1.example.com
extends:
file: base/docker-compose-base.yaml
service: peer1.org1.example.com
networks:
- byfn
peer0.org2.example.com:
container_name: peer0.org2.example.com
extends:
file: base/docker-compose-base.yaml
service: peer0.org2.example.com
networks:
- byfn
peer1.org2.example.com:
container_name: peer1.org2.example.com
extends:
file: base/docker-compose-base.yaml
service: peer1.org2.example.com
networks:
- byfn
cli:
container_name: cli
image: hyperledger/fabric-tools:$IMAGE_TAG
tty: true
stdin_open: true
environment:
- GOPATH=/opt/gopath
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
#- CORE_LOGGING_LEVEL=DEBUG
- CORE_LOGGING_LEVEL=INFO
- CORE_PEER_ID=cli
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051
- CORE_PEER_LOCALMSPID=Org1MSP
- CORE_PEER_TLS_ENABLED=true
- CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
- CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
- CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
command: /bin/bash
volumes:
- /var/run/:/host/var/run/
- ./../chaincode/:/opt/gopath/src/github.com/chaincode
- ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/
- ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/
- ./channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts
depends_on:`enter code here`
- orderer.example.com
- peer0.org1.example.com
- peer1.org1.example.com
- peer0.org2.example.com
- peer1.org2.example.com
networks:
- byfn
答案 0 :(得分:0)
好吧,看来您的版本存在一些问题,我建议您清理运行的docker的所有容器和映像:
docker rmi $(docker images -a -q) //for images
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q) //for containers
之后,重新下载结构样本,我认为他们昨天更新了1.3.0稳定版本,再次设置您的crytogen路径(如果您指向的是旧版本,这非常重要。版本的 cryptogen工具将无法正常工作!
然后再试一次,如果那行不通,我建议您向我们提供更多类似信息。
您在哪里运行您的第一网络?视窗?苹果电脑? Linux的? Linux版本?码头工人的版本?
如果您仍然遇到问题,可以使用Basic-Network示例查看我的指南,从头开始设置超级账本结构,这很容易,并解释了您需要的所有概念。
Setup Hyperledger Fabric in multiple physical machines
更新
因为您使用的是Windows,所以请不要使用用户文件夹,而要创建一个简单的文件夹结构,例如 C:/ HLF 。
之后,在您的 .env 文件中添加以下行COMPOSE_CONVERT_WINDOWS_PATHS=1
。
这有助于Docker理解Windows路径,因为它们在Linux中是不同的。
更新#2
让我们尝试另一种解决方案,然后转到 script文件夹中的 script.sh ,查找命令peer channel create...
并将此行添加到 IF 声明MSYS_NO_PATHCONV=1
请查看结构解决方案中的Windows Extras部分,检查是否已全部安装。
Hyperledger Fabric - Windows Extras
之后,重新生成所有内容。在我的第一个答案中运行docker命令并添加它。
docker network prune
之后。
./byfn.sh down
./byfn.sh generate
./byfn.sh -m up
更新#3
我使用Windows 10和Docker for Windows(使用linux容器)以我之前提到的配置测试了 fisrt-network ,并且运行正常。
我的docker版本为: 18.06.1-ce
我遵循了Fabric Hyperledger官方教程:Build Network
我看到的唯一区别是我运行了./byfn.sh up
而不是./byfn.sh -m up
我建议您为Windows重新安装docker,可能它已损坏,这不允许您启动网络。
希望有帮助!