Skip to content

Commit 19ee661

Browse files
committed
[FAB-4511] Solo-based Docker composition file
This docker composition file brings up a solo-orderer based fabric network. It includes a container that is used as if it were a separate application. Ideally, we would be able to use the python-sdk to make these calls. This is a workaround, until that sdk is ready. Change-Id: I1630f307c1da15d4bc7a66db2e3d2b0251cbf2f9 Signed-off-by: Latitia M Haskins <[email protected]>
1 parent 9802bdf commit 19ee661

File tree

1 file changed

+146
-61
lines changed

1 file changed

+146
-61
lines changed

test/feature/docker-compose/docker-compose-solo.yml

+146-61
Original file line numberDiff line numberDiff line change
@@ -5,151 +5,236 @@
55

66
version: '2'
77

8+
networks:
9+
default:
10+
811
services:
912

1013
orderer.example.com:
1114
container_name: orderer.example.com
1215
image: hyperledger/fabric-orderer
1316
environment:
14-
- CONFIGTX_ORDERER_ORDERERTYPE=solo
15-
- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
16-
- ORDERER_GENERAL_LISTENPORT=7050
1717
- ORDERER_GENERAL_LOGLEVEL=debug
18-
- ORDERER_GENERAL_LEDGERTYPE=ram
18+
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${CORE_PEER_NETWORKID}_default
19+
- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
20+
- ORDERER_GENERAL_GENESISPROFILE=SampleSingleMSPSolo
1921
- ORDERER_GENERAL_GENESISMETHOD=file
20-
- ORDERER_GENERAL_GENESISFILE=/var/hyperledger/config/orderer.block
21-
- ORDERER_GENERAL_QUEUESIZE=1000
22-
- ORDERER_GENERAL_MAXWINDOWSIZE=1000
23-
- ORDERER_RAMLEDGER_HISTORY_SIZE=100
24-
- ORDERER_GENERAL_BATCHSIZE=10
25-
- ORDERER_GENERAL_BATCHTIMEOUT=10s
26-
- ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/msp
22+
- ORDERER_GENERAL_GENESISFILE=/var/hyperledger/configs/orderer.block
2723
- ORDERER_GENERAL_LOCALMSPID=example.com
24+
- ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/msp
25+
# enabled TLS
2826
- ORDERER_GENERAL_TLS_ENABLED=false
27+
- ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/tls/server.key
28+
- ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/tls/server.crt
29+
- ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/tls/ca.crt]
2930
volumes:
30-
- ../configs/${CORE_PEER_NETWORKID}:/var/hyperledger/config
31+
- ../configs/${CORE_PEER_NETWORKID}:/var/hyperledger/configs
3132
- ../configs/${CORE_PEER_NETWORKID}/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/msp
33+
- ../configs/${CORE_PEER_NETWORKID}/ordererOrganizations/example.com/orderers/orderer.example.com/tls:/var/hyperledger/tls
3234
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderer
3335
command: orderer
3436
ports:
3537
- '7050'
38+
networks:
39+
default:
40+
aliases:
41+
- ${CORE_PEER_NETWORKID}
3642

3743
peer0.org1.example.com:
3844
container_name: peer0.org1.example.com
3945
image: hyperledger/fabric-peer
4046
environment:
41-
- CORE_PEER_ID=vp0
42-
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051
47+
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
48+
- CORE_PEER_NETWORKID=${CORE_PEER_NETWORKID}
49+
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${CORE_PEER_NETWORKID}_default
50+
- CORE_PEER_ID=peer0.org1.example.com
51+
- CORE_PEER_ADDRESSAUTODETECT=true
52+
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051
53+
# Set this peer as an anchor peer in configtx.yaml
54+
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
55+
- CORE_PEER_GOSSIP_ORGLEADER=false
56+
- CORE_PEER_GOSSIP_USELEADERELECTION=true
57+
- CORE_PEER_GOSSIP_SKIPHANDSHAKE=true
4358
- CORE_PEER_PROFILE_ENABLED=true
44-
- CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer.example.com:7050
4559
- CORE_PEER_MSPCONFIGPATH=/var/hyperledger/msp
4660
- CORE_PEER_LOCALMSPID=org1.example.com
47-
- CORE_NEXT=true
48-
- CORE_PEER_ENDORSER_ENABLED=true
49-
- CORE_PEER_GOSSIP_ORGLEADER=false
50-
- CORE_PEER_GOSSIP_USELEADERELECTION=true
51-
- CORE_PEER_ADDRESSAUTODETECT=true
5261
- CORE_LOGGING_LEVEL=DEBUG
53-
- CORE_PEER_NETWORKID=${CORE_PEER_NETWORKID}
5462
- CORE_PEER_TLS_ENABLED=false
55-
- CORE_PEER_GOSSIP_SKIPHANDSHAKE=true
63+
- CORE_PEER_TLS_CERT_FILE=/var/hyperledger/tls/server.crt
64+
- CORE_PEER_TLS_KEY_FILE=/var/hyperledger/tls/server.key
65+
- CORE_PEER_TLS_ROOTCERT_FILE=/var/hyperledger/tls/ca.crt
5666
volumes:
67+
- /var/run/:/host/var/run/
68+
- /opt/gopath:/opt/gopath
5769
- ../configs:/var/hyperledger/configs
5870
- ../configs/${CORE_PEER_NETWORKID}/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/var/hyperledger/msp
59-
- /var/run/docker.sock:/var/run/docker.sock
71+
- ../configs/${CORE_PEER_NETWORKID}/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/var/hyperledger/tls
6072
ports:
6173
- '7051'
6274
- '7053'
6375
depends_on:
6476
- orderer.example.com
65-
command: peer node start --peer-defaultchain=false
77+
links:
78+
- orderer.example.com
79+
command: peer node start
80+
networks:
81+
default:
82+
aliases:
83+
- ${CORE_PEER_NETWORKID}
6684

6785
peer0.org2.example.com:
6886
image: hyperledger/fabric-peer
6987
container_name: peer0.org2.example.com
7088
environment:
71-
- CORE_PEER_ID=vp1
72-
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051
73-
- CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer.example.com:7050
74-
- CORE_PEER_MSPCONFIGPATH=/var/hyperledger/msp
75-
- CORE_PEER_LOCALMSPID=org2.example.com
76-
- CORE_NEXT=true
77-
- CORE_PEER_ENDORSER_ENABLED=true
89+
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
90+
- CORE_PEER_NETWORKID=${CORE_PEER_NETWORKID}
91+
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${CORE_PEER_NETWORKID}_default
92+
- CORE_PEER_ID=peer0.org2.example.com
93+
- CORE_PEER_ADDRESSAUTODETECT=true
94+
- CORE_PEER_ADDRESS=peer0.org2.example.com:7051
95+
# Set this peer as an anchor peer in configtx.yaml
96+
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051
7897
- CORE_PEER_GOSSIP_ORGLEADER=false
7998
- CORE_PEER_GOSSIP_USELEADERELECTION=true
80-
- CORE_PEER_ADDRESSAUTODETECT=true
99+
- CORE_PEER_GOSSIP_SKIPHANDSHAKE=true
100+
- CORE_PEER_PROFILE_ENABLED=true
101+
- CORE_PEER_MSPCONFIGPATH=/var/hyperledger/msp
102+
- CORE_PEER_LOCALMSPID=org2.example.com
81103
- CORE_LOGGING_LEVEL=DEBUG
82-
- CORE_PEER_NETWORKID=${CORE_PEER_NETWORKID}
83104
- CORE_PEER_TLS_ENABLED=false
84-
- CORE_PEER_GOSSIP_SKIPHANDSHAKE=true
105+
- CORE_PEER_TLS_CERT_FILE=/var/hyperledger/tls/server.crt
106+
- CORE_PEER_TLS_KEY_FILE=/var/hyperledger/tls/server.key
107+
- CORE_PEER_TLS_ROOTCERT_FILE=/var/hyperledger/tls/ca.crt
85108
volumes:
109+
- /var/run/:/host/var/run/
110+
- /opt/gopath:/opt/gopath
86111
- ../configs:/var/hyperledger/configs
87112
- ../configs/${CORE_PEER_NETWORKID}/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/var/hyperledger/msp
88-
- /var/run/docker.sock:/var/run/docker.sock
113+
- ../configs/${CORE_PEER_NETWORKID}/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/var/hyperledger/tls
89114
ports:
90115
- '7051'
91116
- '7053'
92117
depends_on:
93118
- orderer.example.com
94119
- peer0.org1.example.com
95-
command: peer node start --peer-defaultchain=false
120+
links:
121+
- orderer.example.com
122+
command: peer node start
123+
networks:
124+
default:
125+
aliases:
126+
- ${CORE_PEER_NETWORKID}
96127

97128
peer1.org1.example.com:
98129
image: hyperledger/fabric-peer
99130
container_name: peer1.org1.example.com
100131
environment:
101-
- CORE_PEER_ID=vp2
102-
- CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org2.example.com:7051
103-
- CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer.example.com:7050
104-
- CORE_PEER_MSPCONFIGPATH=/var/hyperledger/msp
105-
- CORE_PEER_LOCALMSPID=org1.example.com
106-
- CORE_NEXT=true
107-
- CORE_PEER_ENDORSER_ENABLED=true
132+
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
133+
- CORE_PEER_NETWORKID=${CORE_PEER_NETWORKID}
134+
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${CORE_PEER_NETWORKID}_default
135+
- CORE_PEER_ID=peer1.org1.example.com
136+
- CORE_PEER_ADDRESSAUTODETECT=true
137+
- CORE_PEER_ADDRESS=peer1.org1.example.com:7051
138+
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051
108139
- CORE_PEER_GOSSIP_ORGLEADER=false
109140
- CORE_PEER_GOSSIP_USELEADERELECTION=true
110-
- CORE_PEER_ADDRESSAUTODETECT=true
141+
- CORE_PEER_GOSSIP_SKIPHANDSHAKE=true
142+
- CORE_PEER_PROFILE_ENABLED=true
143+
- CORE_PEER_MSPCONFIGPATH=/var/hyperledger/msp
144+
- CORE_PEER_LOCALMSPID=org1.example.com
111145
- CORE_LOGGING_LEVEL=DEBUG
112-
- CORE_PEER_NETWORKID=${CORE_PEER_NETWORKID}
113146
- CORE_PEER_TLS_ENABLED=false
114-
- CORE_PEER_GOSSIP_SKIPHANDSHAKE=true
147+
- CORE_PEER_TLS_CERT_FILE=/var/hyperledger/tls/server.crt
148+
- CORE_PEER_TLS_KEY_FILE=/var/hyperledger/tls/server.key
149+
- CORE_PEER_TLS_ROOTCERT_FILE=/var/hyperledger/tls/ca.crt
115150
volumes:
151+
- /var/run/:/host/var/run/
152+
- /opt/gopath:/opt/gopath
116153
- ../configs:/var/hyperledger/configs
117154
- ../configs/${CORE_PEER_NETWORKID}/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp:/var/hyperledger/msp
118-
- /var/run/docker.sock:/var/run/docker.sock
155+
- ../configs/${CORE_PEER_NETWORKID}/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls:/var/hyperledger/tls
119156
ports:
120157
- '7051'
121158
- '7053'
122159
depends_on:
123160
- orderer.example.com
124161
- peer0.org1.example.com
125-
command: peer node start --peer-defaultchain=false
162+
links:
163+
- orderer.example.com
164+
command: peer node start
165+
networks:
166+
default:
167+
aliases:
168+
- ${CORE_PEER_NETWORKID}
126169

127170
peer1.org2.example.com:
128171
image: hyperledger/fabric-peer
129172
container_name: peer1.org2.example.com
130173
environment:
131-
- CORE_PEER_ID=vp3
132-
- CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org0.example.com:7051
133-
- CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer.example.com:7050
134-
- CORE_PEER_MSPCONFIGPATH=/var/hyperledger/msp
135-
- CORE_PEER_LOCALMSPID=org2.example.com
136-
- CORE_NEXT=true
137-
- CORE_PEER_ENDORSER_ENABLED=true
174+
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
175+
- CORE_PEER_NETWORKID=${CORE_PEER_NETWORKID}
176+
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${CORE_PEER_NETWORKID}_default
177+
- CORE_PEER_ID=peer1.org2.example.com
178+
- CORE_PEER_ADDRESSAUTODETECT=true
179+
- CORE_PEER_ADDRESS=peer1.org2.example.com:7051
180+
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051
138181
- CORE_PEER_GOSSIP_ORGLEADER=false
139182
- CORE_PEER_GOSSIP_USELEADERELECTION=true
140-
- CORE_PEER_ADDRESSAUTODETECT=true
183+
- CORE_PEER_GOSSIP_SKIPHANDSHAKE=true
184+
- CORE_PEER_PROFILE_ENABLED=true
185+
- CORE_PEER_MSPCONFIGPATH=/var/hyperledger/msp
186+
- CORE_PEER_LOCALMSPID=org2.example.com
141187
- CORE_LOGGING_LEVEL=DEBUG
142-
- CORE_PEER_NETWORKID=${CORE_PEER_NETWORKID}
143188
- CORE_PEER_TLS_ENABLED=false
144-
- CORE_PEER_GOSSIP_SKIPHANDSHAKE=true
189+
- CORE_PEER_TLS_CERT_FILE=/var/hyperledger/tls/server.crt
190+
- CORE_PEER_TLS_KEY_FILE=/var/hyperledger/tls/server.key
191+
- CORE_PEER_TLS_ROOTCERT_FILE=/var/hyperledger/tls/ca.crt
145192
volumes:
193+
- /var/run/:/host/var/run/
194+
- /opt/gopath:/opt/gopath
146195
- ../configs:/var/hyperledger/configs
147196
- ../configs/${CORE_PEER_NETWORKID}/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp:/var/hyperledger/msp
148-
- /var/run/docker.sock:/var/run/docker.sock
197+
- ../configs/${CORE_PEER_NETWORKID}/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls:/var/hyperledger/tls
149198
ports:
150199
- '7051'
151200
- '7053'
152201
depends_on:
153202
- orderer.example.com
154-
- peer0.org1.example.com
155-
command: peer node start --peer-defaultchain=false
203+
- peer0.org2.example.com
204+
links:
205+
- orderer.example.com
206+
command: peer node start
207+
networks:
208+
default:
209+
aliases:
210+
- ${CORE_PEER_NETWORKID}
211+
212+
cli:
213+
container_name: cli
214+
image: hyperledger/fabric-tools
215+
tty: true
216+
environment:
217+
- GOPATH=/opt/gopath
218+
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
219+
- CORE_LOGGING_LEVEL=DEBUG
220+
- CORE_PEER_TLS_ENABLED=false
221+
- CORE_PEER_TLS_CERT_FILE=/var/hyperledger/tls/server.crt
222+
- CORE_PEER_TLS_KEY_FILE=/var/hyperledger/tls/server.key
223+
- CORE_PEER_TLS_ROOTCERT_FILE=/var/hyperledger/tls/ca.crt
224+
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
225+
command: /bin/bash -c 'sleep 6000000000000000000'
226+
volumes:
227+
- /var/run/:/host/var/run/
228+
- /opt/gopath:/opt/gopath
229+
- ../configs:/var/hyperledger/configs
230+
- ../configs/${CORE_PEER_NETWORKID}/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/var/hyperledger/tls
231+
depends_on:
232+
- orderer.example.com
233+
- peer0.org1.example.com
234+
- peer1.org1.example.com
235+
- peer0.org2.example.com
236+
- peer1.org2.example.com
237+
networks:
238+
default:
239+
aliases:
240+
- ${CORE_PEER_NETWORKID}

0 commit comments

Comments
 (0)