Контейнер Hyperledger Cli не связывает тома с хостом - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь реализовать пример BYFN Hyperledger из моей подсистемы Windows 10 Linux (Ubuntu Xenial). Однако команда ./byfn.sh -m up завершается неудачно со следующим выводом:

$GOPATH/fabric-samples/first-network$ ./byfn.sh -m up
Starting with channel 'mychannel' and CLI timeout of '10' seconds and CLI delay of '3' seconds
Continue? [Y/n] y
proceeding ...
2018-04-24 22:12:44.343 UTC [main] main -> INFO 001 Exiting.....
LOCAL_VERSION=1.1.0
DOCKER_IMAGE_VERSION=1.1.0
Creating peer0.org1.example.com ... done
Creating orderer.example.com    ... done
Creating peer1.org1.example.com ... done
Creating peer0.org2.example.com ... done
Creating peer1.org2.example.com ... done
Creating cli                    ... done
OCI runtime exec failed: exec failed: container_linux.go:348: starting container process caused "exec: \"scripts/script.sh\": stat scripts/script.sh: no such file or directory": unknown
ERROR !!!! Test failed

Я вижу, что построен только один контейнер:

$GOPATH/fabric-samples/first-network$ dps
CONTAINER ID         NAMES              NETWORKS            STATUS              SIZE
3e66d31c6b9a         cli                net_byfn            Up 27 minutes       17B (virtual 1.46GB)

Судя по выводу, контейнер cli не может видеть скрипт script.sh. Подумав, что это может быть проблема привязки тома в docker-compose, я попытался проверить привязки в контейнере cli:

$GOPATH/fabric-samples/first-network$ docker exec -ti cli bash

root@3e66d31c6b9a:/opt/gopath/src/github.com/hyperledger/fabric/peer# ls scripts/

root@3e66d31c6b9a:/opt/gopath/src/github.com/hyperledger/fabric/peer# exit
exit
$GOPATH/fabric-samples/first-network$ ls scripts/
capabilities.json  script.sh  step1org3.sh  step2org3.sh  step3org3.sh  testorg3.sh  upgrade_to_v11.sh  utils.sh

Глядя на файл docker-compose-cli.yaml, я вижу следующие привязки для контейнера cli:

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

Настройки My Docker:

$GOPATH/fabric-samples/first-network$ docker version
Client:
 Version:       18.03.0-ce
 API version:   1.37
 Go version:    go1.9.2
 Git commit:    0520e24
 Built: Wed Mar 21 23:05:52 2018
 OS/Arch:       linux/amd64
 Experimental:  false
 Orchestrator:  swarm

Server:
 Engine:
  Version:      18.03.0-ce
  API version:  1.37 (minimum version 1.12)
  Go version:   go1.9.4
  Git commit:   0520e24
  Built:        Wed Mar 21 23:14:32 2018
  OS/Arch:      linux/amd64
  Experimental: false
$GOPATH/fabric-samples/first-network$ docker-compose version
docker-compose version 1.21.0, build 5920eb0
docker-py version: 3.2.1
CPython version: 3.6.5
OpenSSL version: OpenSSL 1.0.1t  3 May 2016

Версия My Go:

$GOPATH/fabric-samples/first-network$ go version
go version go1.10.1 linux/amd64

Интересно, если я что-то упустил? Я должен упомянуть, что я использовал следующую команду, чтобы начать чистку формы, основываясь на свежем наборе изображений (без предыдущих изображений), как описано в этом сценарии :

curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh | bash -s 1.1.0

Спасибо

Ответы [ 2 ]

0 голосов
/ 16 сентября 2018

В моем случае это был первый Note на этой странице https://hyperledger -fabric.readthedocs.io / en / latest / install.html Я работаю на Windows 10, но Docker не будет работать, так как мне нужна Windows 10 Pro или лучше, чтобы запустить его. Поэтому я использую Docker Toolbox и должен следовать трюку Windows 7 клонирования источников в любом месте под C:\Users

0 голосов
/ 25 апреля 2018

Скорее всего, это версия golang --- Fabric требуется версия 1.9.x , а сообщение об ошибке exec failed: container_linux.go:348: указывает на то же самое.

...