Skip to content

Commit 9a6b000

Browse files
committed
docker: reorginisartion && comments
1 parent dbef6fd commit 9a6b000

17 files changed

+107
-279
lines changed

docker/docker-compose.yml

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
version: '2.1'
1+
version: '3.4'
22
services:
3+
34
mysql:
45
build: mysql
56
image: bitlum/exchange-mysql
@@ -13,6 +14,7 @@ services:
1314
networks:
1415
exchange_net:
1516
ipv4_address: 192.168.18.10
17+
1618
kafka:
1719
build: kafka
1820
image: bitlum/exchange-kafka
@@ -27,6 +29,7 @@ services:
2729
networks:
2830
exchange_net:
2931
ipv4_address: 192.168.18.20
32+
3033
redis-master:
3134
build:
3235
context: redis
@@ -43,6 +46,7 @@ services:
4346
networks:
4447
exchange_net:
4548
ipv4_address: 192.168.18.36
49+
4650
redis-replica-1:
4751
build:
4852
context: redis
@@ -62,6 +66,7 @@ services:
6266
networks:
6367
exchange_net:
6468
ipv4_address: 192.168.18.37
69+
6570
redis-replica-2:
6671
build:
6772
context: redis
@@ -81,6 +86,7 @@ services:
8186
networks:
8287
exchange_net:
8388
ipv4_address: 192.168.18.38
89+
8490
sentinel1:
8591
build:
8692
context: sentinel
@@ -100,6 +106,7 @@ services:
100106
networks:
101107
exchange_net:
102108
ipv4_address: 192.168.18.31
109+
103110
sentinel2:
104111
build:
105112
context: sentinel
@@ -120,6 +127,7 @@ services:
120127
networks:
121128
exchange_net:
122129
ipv4_address: 192.168.18.32
130+
123131
sentinel3:
124132
build:
125133
context: sentinel
@@ -141,6 +149,7 @@ services:
141149
networks:
142150
exchange_net:
143151
ipv4_address: 192.168.18.33
152+
144153
alertcenter:
145154
build:
146155
context: ..
@@ -161,6 +170,7 @@ services:
161170
networks:
162171
exchange_net:
163172
ipv4_address: 192.168.18.41
173+
164174
matchengine:
165175
build:
166176
context: ..
@@ -181,6 +191,7 @@ services:
181191
networks:
182192
exchange_net:
183193
ipv4_address: 192.168.18.42
194+
184195
marketprice:
185196
build:
186197
context: ..
@@ -203,6 +214,7 @@ services:
203214
networks:
204215
exchange_net:
205216
ipv4_address: 192.168.18.43
217+
206218
readhistory:
207219
build:
208220
context: ..
@@ -222,6 +234,7 @@ services:
222234
networks:
223235
exchange_net:
224236
ipv4_address: 192.168.18.44
237+
225238
accesshttp:
226239
build:
227240
context: ..
@@ -246,6 +259,7 @@ services:
246259
networks:
247260
exchange_net:
248261
ipv4_address: 192.168.18.45
262+
249263
accessws:
250264
build:
251265
context: ..
@@ -271,6 +285,7 @@ services:
271285
networks:
272286
exchange_net:
273287
ipv4_address: 192.168.18.46
288+
274289
cli:
275290
build: cli
276291
image: bitlum/exchange-cli
@@ -293,12 +308,11 @@ services:
293308
networks:
294309
exchange_net:
295310
ipv4_address: 192.168.18.50
311+
296312
networks:
297313
exchange_net:
298314
driver: bridge
299-
enable_ipv6: false
300315
ipam:
301316
driver: default
302317
config:
303318
- subnet: 192.168.18.0/24
304-
gateway: 192.168.18.254

docker/exchange/Dockerfile

Lines changed: 89 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
FROM ubuntu:16.04 AS BUILDSTEP
2-
LABEL BUILDSTEP NNNN
32
MAINTAINER Sergey Dolin <sergey@s4y.solutions>
43

4+
# Install all necessary for building dependecnies, read more about
5+
# depencensies in readme section in the root of the repo.
56
RUN apt-get update && \
67
apt-get upgrade -y && \
78
apt-get install -y \
@@ -32,65 +33,106 @@ RUN apt-get update && \
3233
librtmp-dev &&\
3334
rm -rf /var/lib/apt/lists/*
3435

35-
RUN git clone https://github.com/edenhill/librdkafka.git && cd librdkafka && ./configure && make && make install && cd / && rm -rf librdkafka
36+
RUN git clone https://github.com/edenhill/librdkafka.git \
37+
&& cd librdkafka \
38+
&& ./configure \
39+
&& make \
40+
&& make install \
41+
&& cd / \
42+
&& rm -rf librdkafka
3643

3744
RUN mkdir viabtc_exchange_server
38-
COPY depends viabtc_exchange_server/depends
39-
COPY network viabtc_exchange_server/network
40-
COPY utils viabtc_exchange_server/utils
41-
COPY alertcenter viabtc_exchange_server/alertcenter
42-
COPY matchengine viabtc_exchange_server/matchengine
43-
COPY marketprice viabtc_exchange_server/marketprice
44-
COPY readhistory viabtc_exchange_server/readhistory
45-
COPY accesshttp viabtc_exchange_server/accesshttp
46-
COPY accessws viabtc_exchange_server/accessws
47-
COPY docker/exchange/makefile.inc.ubuntu viabtc_exchange_server/makefile.inc
48-
49-
RUN cd viabtc_exchange_server/depends/hiredis && make && mv libhiredis.* /usr/lib && cd .. && mv hiredis /usr/include
50-
RUN cd viabtc_exchange_server/network && make
51-
RUN cd viabtc_exchange_server/utils && make
52-
RUN cd viabtc_exchange_server/alertcenter && make
53-
RUN cd viabtc_exchange_server/matchengine && make
54-
COPY docker/exchange/makefile.marketprice.ubuntu viabtc_exchange_server/marketprice/makefile
55-
RUN cd viabtc_exchange_server/marketprice && make
56-
RUN cd viabtc_exchange_server/readhistory && make
57-
RUN cd viabtc_exchange_server/accesshttp && make
58-
COPY docker/exchange/makefile.accessws.ubuntu viabtc_exchange_server/accessws/makefile
59-
RUN cd viabtc_exchange_server/accessws && make
6045

46+
# Copy all necessary files and directories for build process, basically we
47+
# recreate the root repository directory, but with tham we could ensure that
48+
# nothing
49+
COPY depends viabtc_exchange_server/depends
50+
COPY network viabtc_exchange_server/network
51+
COPY utils viabtc_exchange_server/utils
52+
53+
COPY alertcenter viabtc_exchange_server/alertcenter
54+
COPY matchengine viabtc_exchange_server/matchengine
55+
COPY marketprice viabtc_exchange_server/marketprice
56+
COPY readhistory viabtc_exchange_server/readhistory
57+
COPY accesshttp viabtc_exchange_server/accesshttp
58+
COPY accessws viabtc_exchange_server/accessws
59+
60+
COPY makefile.inc viabtc_exchange_server/makefile.inc
61+
62+
# Do the actial build of the microservices.
63+
RUN cd viabtc_exchange_server/depends/hiredis \
64+
&& make \
65+
&& mv libhiredis.* /usr/lib \
66+
&& cd .. \
67+
&& mv hiredis /usr/include
68+
69+
RUN cd viabtc_exchange_server/network \
70+
&& make
71+
72+
RUN cd viabtc_exchange_server/utils \
73+
&& make
74+
75+
RUN cd viabtc_exchange_server/alertcenter \
76+
&& make
77+
78+
RUN cd viabtc_exchange_server/matchengine \
79+
&& make
80+
81+
RUN cd viabtc_exchange_server/marketprice \
82+
&& make
83+
84+
RUN cd viabtc_exchange_server/readhistory \
85+
&& make
86+
87+
RUN cd viabtc_exchange_server/accesshttp \
88+
&& make
89+
90+
RUN cd viabtc_exchange_server/accessws \
91+
&& make
92+
93+
# Multi-stage builds are a new feature requiring Docker 17.05 or higher on the
94+
# daemon and client. Multistage builds are useful to anyone who has struggled
95+
# to optimize Dockerfiles while keeping them easy to read and maintain.
96+
# With this we ensure that previous build layers are not stored and we grab
97+
# only what we need.
6198
FROM ubuntu:16.04
6299

63-
RUN apt-get update \
64-
&& apt-get upgrade -y \
65-
&& apt-get install -y \
66-
libldap-2.4 \
67-
libgss3 \
68-
librtmp1 \
69-
libmysqlclient20 \
70-
jq \
71-
netcat \
72-
&& rm -rf /var/lib/apt/lists/*
100+
RUN apt-get update
101+
RUN apt-get upgrade -y
102+
RUN apt-get install -y \
103+
libldap-2.4 \
104+
libgss3 \
105+
librtmp1 \
106+
libmysqlclient20 \
107+
jq \
108+
netcat
109+
RUN rm -rf /var/lib/apt/lists/*
73110

74111
RUN mkdir /viabtc_exchange_server
75112
# keep .exe for better grep of ps output
76-
COPY --from=BUILDSTEP /viabtc_exchange_server/alertcenter/alertcenter /viabtc_exchange_server/alertcenter.exe
77-
COPY docker/exchange/alertcenter.json /viabtc_exchange_server
113+
COPY --from=BUILDSTEP /viabtc_exchange_server/alertcenter/alertcenter \
114+
/viabtc_exchange_server/alertcenter.exe
115+
COPY docker/exchange/configs/alertcenter.json /viabtc_exchange_server
78116

79-
COPY --from=BUILDSTEP /viabtc_exchange_server/matchengine/matchengine /viabtc_exchange_server/matchengine.exe
80-
COPY docker/exchange/matchengine.json /viabtc_exchange_server
117+
COPY --from=BUILDSTEP /viabtc_exchange_server/matchengine/matchengine \
118+
/viabtc_exchange_server/matchengine.exe
119+
COPY docker/exchange/configs/matchengine.json /viabtc_exchange_server
81120

82-
COPY --from=BUILDSTEP /viabtc_exchange_server/marketprice/marketprice /viabtc_exchange_server/marketprice.exe
83-
COPY docker/exchange/marketprice.json /viabtc_exchange_server
121+
COPY --from=BUILDSTEP /viabtc_exchange_server/marketprice/marketprice \
122+
/viabtc_exchange_server/marketprice.exe
123+
COPY docker/exchange/configs/marketprice.json /viabtc_exchange_server
84124

85-
COPY --from=BUILDSTEP /viabtc_exchange_server/readhistory/readhistory /viabtc_exchange_server/readhistory.exe
86-
COPY docker/exchange/readhistory.json /viabtc_exchange_server
125+
COPY --from=BUILDSTEP /viabtc_exchange_server/readhistory/readhistory \
126+
/viabtc_exchange_server/readhistory.exe
127+
COPY docker/exchange/configs/readhistory.json /viabtc_exchange_server
87128

88-
COPY --from=BUILDSTEP /viabtc_exchange_server/accesshttp/accesshttp /viabtc_exchange_server/accesshttp.exe
89-
COPY docker/exchange/accesshttp.json /viabtc_exchange_server
129+
COPY --from=BUILDSTEP /viabtc_exchange_server/accesshttp/accesshttp \
130+
/viabtc_exchange_server/accesshttp.exe
131+
COPY docker/exchange/configs/accesshttp.json /viabtc_exchange_server
90132

91-
COPY --from=BUILDSTEP /viabtc_exchange_server/accessws/accessws /viabtc_exchange_server/accessws.exe
92-
COPY docker/exchange/accessws.json /viabtc_exchange_server
133+
COPY --from=BUILDSTEP /viabtc_exchange_server/accessws/accessws \
134+
/viabtc_exchange_server/accessws.exe
135+
COPY docker/exchange/configs/accessws.json /viabtc_exchange_server
93136

94137
COPY docker/exchange/entrypoint.sh /docker-entrypoint.sh
95-
96138
ENTRYPOINT [ "/docker-entrypoint.sh" ]

docker/exchange/Dockerfile.alpine

Lines changed: 0 additions & 31 deletions
This file was deleted.

docker/exchange/build.sh

100755100644
File mode changed.

docker/exchange/accesshttp.json renamed to docker/exchange/configs/accesshttp.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,4 @@
4646
],
4747
"max_pkg_size": 2000000
4848
}
49-
}
49+
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)