ubuntu使用docker-compose指令创建orderer节点容器,创建后容器自动退出并返回以下信息:
docker-compose配置文件如下:
version: '3.7'
volumes:
orderer0.maintenance.com:
orderer1.maintenance.com:
orderer2.maintenance.com:
peer0.org1.maintenance.com:
peer1.org1.maintenance.com:
peer0.org2.maintenance.com:
peer0.org3.maintenance.com:
peer0.org4.maintenance.com:
networks:
machine:
services:
orderer0.maintenance.com:
container_name: orderer0.maintenance.com
image: hyperledger/fabric-orderer:latest
labels:
service: hyperledger-fabric
environment:
- FABRIC_LOGGING_SPEC=INFO
- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
- ORDERER_GENERAL_LISTENPORT=7050
- ORDERER_GENERAL_LOCALMSPID=OrdererMSP
- ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
- ORDERER_GENERAL_TLS_ENABLED=true
- ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
- ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
- ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
- ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
- ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_GENERAL_BOOTSTRAPMETHOD=file
- ORDERER_GENERAL_BOOtSTRAPFILE=/var/hyperledger/orderer/order.genesis.block
- ORDERER_ADMIN_TLS_ENABLED=true
- ORDERER_ADMIN_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
- ORDERER_ADMIN_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
- ORDERER_ADMIN_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_ADMIN_TLS_CLIENTROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_ADMIN_LISTENADDRESS=0.0.0.0:7053
working_dir: /opt/gopath/src/github.com/hyperledger/fabric
command: orderer
volumes:
- ./channel-artifacts/genesis.block:/var/hyperledger/orderer/order.genesis.block
- ./crypto-config/ordererOrganizations/maintenance.com/orderers/orderer0.maintenance.com/msp/:/var/hyperledger/orderer/msp
- ./crypto-config/ordererOrganizations/maintenance.com/orderers/orderer0.maintenance.com/tls/:/var/hyperledger/orderer/tls
- orderer0.maintenance.com:/var/hyperledger/production/orderer
ports:
- 7050:7050
networks:
- machine
orderer1.maintenance.com:
container_name: orderer1.maintenance.com
image: hyperledger/fabric-orderer:latest
labels:
service: hyperledger-fabric
environment:
- FABRIC_LOGGING_SPEC=INFO
- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
- ORDERER_GENERAL_LISTENPORT=7050
- ORDERER_GENERAL_LOCALMSPID=OrdererMSP
- ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
- ORDERER_GENERAL_TLS_ENABLED=true
- ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
- ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
- ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
- ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
- ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_GENERAL_BOOTSTRAPMETHOD=file
- ORDERER_GENERAL_BOOtSTRAPFILE=/var/hyperledger/orderer/order.genesis.block
- ORDERER_ADMIN_TLS_ENABLED=true
- ORDERER_ADMIN_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
- ORDERER_ADMIN_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
- ORDERER_ADMIN_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_ADMIN_TLS_CLIENTROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_ADMIN_LISTENADDRESS=0.0.0.0:7053
working_dir: /opt/gopath/src/github.com/hyperledger/fabric
command: orderer
volumes:
- ./channel-artifacts/genesis.block:/var/hyperledger/orderer/order.genesis.block
- ./crypto-config/ordererOrganizations/maintenance.com/orderers/orderer1.maintenance.com/msp/:/var/hyperledger/orderer/msp
- ./crypto-config/ordererOrganizations/maintenance.com/orderers/orderer1.maintenance.com/tls/:/var/hyperledger/orderer/tls
- orderer1.maintenance.com:/var/hyperledger/production/orderer
ports:
- 8050:8050
networks:
- machine
orderer2.maintenance.com:
container_name: orderer2.maintenance.com
image: hyperledger/fabric-orderer:latest
labels:
service: hyperledger-fabric
environment:
- FABRIC_LOGGING_SPEC=INFO
- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
- ORDERER_GENERAL_LISTENPORT=7050
- ORDERER_GENERAL_LOCALMSPID=OrdererMSP
- ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
- ORDERER_GENERAL_TLS_ENABLED=true
- ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
- ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
- ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
- ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
- ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_GENERAL_BOOTSTRAPMETHOD=file
- ORDERER_GENERAL_BOOtSTRAPFILE=/var/hyperledger/orderer/order.genesis.block
- ORDERER_ADMIN_TLS_ENABLED=true
- ORDERER_ADMIN_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
- ORDERER_ADMIN_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
- ORDERER_ADMIN_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_ADMIN_TLS_CLIENTROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
- ORDERER_ADMIN_LISTENADDRESS=0.0.0.0:7053
working_dir: /opt/gopath/src/github.com/hyperledger/fabric
command: orderer
volumes:
- ./channel-artifacts/genesis.block:/var/hyperledger/orderer/order.genesis.block
- ./crypto-config/ordererOrganizations/maintenance.com/orderers/orderer2.maintenance.com/msp/:/var/hyperledger/orderer/msp
- ./crypto-config/ordererOrganizations/maintenance.com/orderers/orderer2.maintenance.com/tls/:/var/hyperledger/orderer/tls
- orderer2.maintenance.com:/var/hyperledger/production/orderer
ports:
- 9050:9050
networks:
- machine
后面的peer和cli容器都是正常运行,只有orderer容器会出现这个问题,请问该如何解决?
不知道你这个问题是否已经解决, 如果还没有解决的话:https://docs.docker.com/compose/reference/文档地址 :https://github.com/docker/compose/releases
compose-file文档:https://docs.docker.com/compose/compose-file/
[root@localhost ~]# curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
[root@localhost ~]# chmod +x /usr/local/bin/docker-compose
使用 docker-compose build
时,建议 build 目录下的文件尽量少,如果过多,会导致 build非常慢,可能是因为会将build所在目录下的所有文件添加到 build 上下文中,当然, 也可以使用 .dockerignore
文件来忽略指定的文件。笔者之前在公司运维的过程中,有些容器目录下存在十多个jar 文件(之前版本的jar文件),删除该容器后重新 docker-compose up -d
,在重新 up 之前需要 building
,此过程非常慢,耗费了十多分钟,在网上也没有找到相关的解决方案,后来将该build 目录中的文件删除,只留下 docker-compose 与 Dockerfile 文件,重新构建,不到5秒就构建完成了。
已解决,通过docker logs 指令查看异常退出的容器日志就能明显看到问题所在