Похоже, ваш файл peer-base.yaml неверен. Одной из проблем является переменная COMPOSE_PROJECT_NAME. Если он не задан, то в качестве сетевого имени папка использует папку. Но если это не так, при загрузке сети произойдет ошибка. Мы строим торговую сеть, и она называется trade-network. Итак, пример записи в файле peer-base.yaml:
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_basic
Перед бустреппингом мы определяем COMPOSE_PROJECT_NAME с trade-network, поэтому сеть называется trade-network_basic. Я не уверен на 100%, но я думаю, что после (или во время) начальной загрузки есть момент, когда Fabric все равно использует имя папки. Поэтому мы решили использовать имя папки по умолчанию, и ничего не случилось неправильно.
Другой проблемой может быть запись изображения для пира. В нашем файле это:
image: hyperledger/fabric-peer:x86_64-1.1.0
Вы можете docker images list
и будете знать, какие у вас есть изображения, вы должны использовать одно для пиров. После двоеточия вы можете быть более конкретным, и я бы предложил.
Вот пример нашего полного файла peer-base.yaml:
version: '2'
services:
peer-base:
image: hyperledger/fabric-peer:x86_64-1.1.0
environment:
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
# the following setting starts chaincode containers on the same
# bridge network as the peers
# https://docs.docker.com/compose/networking/
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_basic
#- CORE_LOGGING_LEVEL=INFO
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_TLS_ENABLED=true
- CORE_PEER_GOSSIP_USELEADERELECTION=true
- CORE_PEER_GOSSIP_ORGLEADER=false
- CORE_PEER_PROFILE_ENABLED=true
- CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt
- CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key
- CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
command: peer node start