- version: '3'
- services:
- ca0:
- image: hyperledger/fabric-ca
- environment:
- - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
- - FABRIC_CA_SERVER_CA_NAME=ca-org1
- - FABRIC_CA_SERVER_TLS_ENABLED=true
- - FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/org1.example.com-cert.pem
- - FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/a22daf356b2aab5792ea53e35f66fccef1d7f1aa2b3a2b92dbfbf96a448ea26a_sk
- ports:
- - "7054:7054"
- command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/org1.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/a22daf356b2aab5792ea53e35f66fccef1d7f1aa2b3a2b92dbfbf96a448ea26a_sk -b admin:adminpw -d'
- volumes:
- - ./channel/crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
- container_name: ca_peerOrg1
- ca1:
- image: hyperledger/fabric-ca
- environment:
- - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
- - FABRIC_CA_SERVER_CA_NAME=ca-org2
- - FABRIC_CA_SERVER_TLS_ENABLED=true
- - FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/org2.example.com-cert.pem
- - FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/464d550fe9bf9e7d8976cdf59d1a5d472598f54c058c3546317c5c5fb0ddfd6e_sk
- ports:
- - "8054:7054"
- command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/org2.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/464d550fe9bf9e7d8976cdf59d1a5d472598f54c058c3546317c5c5fb0ddfd6e_sk -b admin:adminpw -d'
- volumes:
- - ./channel/crypto-config/peerOrganizations/org2.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
- container_name: ca_peerOrg2
- orderer.example.com:
- container_name: orderer.example.com
- image: hyperledger/fabric-orderer
- environment:
- - ORDERER_GENERAL_LOGLEVEL=debug
- - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
- - ORDERER_GENERAL_GENESISMETHOD=file
- - ORDERER_GENERAL_GENESISFILE=/etc/hyperledger/configtx/twoorgs.genesis.block
- - ORDERER_GENERAL_LOCALMSPID=OrdererMSP
- - ORDERER_GENERAL_LOCALMSPDIR=/etc/hyperledger/msp/orderer
- - ORDERER_GENERAL_TLS_ENABLED=true
- - ORDERER_GENERAL_TLS_PRIVATEKEY=/etc/hyperledger/msp/orderer/keystore/e8a4fdaacf1ef1d925686f19f56eb558b6c71f0116d85916299fc1368de2d58a_sk
- - ORDERER_GENERAL_TLS_CERTIFICATE=/etc/hyperledger/msp/orderer/signcerts/orderer.example.com-cert.pem
- - ORDERER_GENERAL_TLS_ROOTCAS=[/etc/hyperledger/msp/orderer/cacerts/example.com-cert.pem, /etc/hyperledger/msp/peerOrg1/cacerts/org1.example.com-cert.pem, /etc/hyperledger/msp/peerOrg2/cacerts/org2.example.com-cert.pem]
- working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderer
- command: orderer
- ports:
- - 7050:7050
- dns:
- - 8.8.8.8
- - 8.8.4.4
- volumes:
- - ./channel:/etc/hyperledger/configtx
- - ./channel/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/:/etc/hyperledger/msp/orderer
- - ./channel/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/:/etc/hyperledger/msp/peerOrg1
- - ./channel/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/:/etc/hyperledger/msp/peerOrg2
- peer0.org1.example.com:
- container_name: peer0.org1.example.com
- image: hyperledger/fabric-peer
- environment:
- - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
- - CORE_PEER_ID=peer0.org1.example.com
- - CORE_LOGGING_PEER=debug
- - CORE_PEER_LOCALMSPID=Org1MSP
- - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/
- - CORE_PEER_ADDRESS=peer0.org1.example.com:7051
- - CORE_PEER_TLS_ENABLED=true
- - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/msp/peer/keystore/ecd9f80eb183352d5d4176eeb692e30bbfba4c38813ff9a0b6b799b546dda1d8_sk
- - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/msp/peer/signcerts/peer0.org1.example.com-cert.pem
- - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/msp/peer/cacerts/org1.example.com-cert.pem
- # # 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=fixtures_default
- - GOPATH=/tmp/gopath
- working_dir: /opt/gopath/src/github.com/hyperledger/fabric
- command: peer node start --peer-defaultchain=false
- ports:
- - 7051:7051
- - 7053:7053
- volumes:
- - ./src/github.com:/tmp/gopath/src/github.com
- - /var/run/:/host/var/run/
- - ./channel/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/:/etc/hyperledger/msp/peer
- depends_on:
- - orderer.example.com
- peer0.org2.example.com:
- container_name: peer0.org2.example.com
- image: hyperledger/fabric-peer
- environment:
- - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
- - CORE_PEER_ID=peer0.org2.example.com
- - CORE_PEER_LOCALMSPID=Org2MSP
- - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/
- - CORE_PEER_ADDRESS=peer0.org2.example.com:7051
- - CORE_PEER_TLS_ENABLED=true
- - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/msp/peer/keystore/81c71fd393054571c8d789f302a10390e0e83eb079b02a26a162ee26f02ff796_sk
- - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/msp/peer/signcerts/peer0.org2.example.com-cert.pem
- - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/msp/peer/cacerts/org2.example.com-cert.pem
- # # 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=fixtures_default
- - GOPATH=/tmp/gopath
- working_dir: /opt/gopath/src/github.com/hyperledger/fabric
- command: peer node start --peer-defaultchain=false
- ports:
- - 8051:7051
- - 8053:7053
- volumes:
- - ./src/github.com:/tmp/gopath/src/github.com
- - /var/run/:/host/var/run/
- - ./channel/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/:/etc/hyperledger/msp/peer
- depends_on:
- - orderer.example.com
- couchdb:
- container_name: couchdb
- image: hyperledger/fabric-couchdb
- ports:
- - 5984:5984
- environment:
- DB_URL: http://localhost:5984/member_db
来源: http://www.cnblogs.com/cnblogs-wangzhipeng/p/6994541.html