-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDockerfile
50 lines (36 loc) · 1.56 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
FROM ubuntu:20.04 as build
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y build-essential git gcc cmake libmicrohttpd-dev librdkafka-dev \
libboost-dev libboost-system-dev libboost-thread-dev libboost-program-options-dev \
libssl-dev zlib1g-dev && \
apt-get clean && rm -rf /var/lib/apt/lists/*
RUN mkdir -p /usr/src/baikalbeat
RUN mkdir -p /usr/src/baikalbeat/deps
COPY deps/p7 /usr/src/baikalbeat/deps/p7
WORKDIR /usr/src/baikalbeat
COPY deps.sh /usr/src/baikalbeat/
COPY build.sh /usr/src/baikalbeat/
COPY clean.sh /usr/src/baikalbeat/
RUN chmod +x /usr/src/baikalbeat/*.sh
RUN /usr/src/baikalbeat/deps.sh
COPY src /usr/src/baikalbeat/src
RUN mkdir -p /usr/src/baikalbeat/build
RUN /usr/src/baikalbeat/build.sh
###########################################################
FROM ubuntu:20.04 as prod
RUN apt-get update && \
apt-get install -y librdkafka1 libboost-system1.71.0 \
libboost-thread1.71.0 libboost-program-options1.71.0 libssl1.1 zlib1g && \
apt-get clean && rm -rf /var/lib/apt/lists/*
ENV BB_CONFIG_DIR "/etc/baikalbeat"
ENV BB_CONFIG_FILE "${BB_CONFIG_DIR}/baikalbeat.ini"
ENV BB_BINARY_FILE "/usr/bin/baikalbeat"
COPY --from=build /usr/src/baikalbeat/deps/cppkafka/build/src/lib/* /usr/lib/
COPY --from=build /usr/src/baikalbeat/deps/p7/build/lib* /usr/lib/
COPY --from=build /usr/src/baikalbeat/build/baikalbeat "${BB_BINARY_FILE}"
RUN /usr/sbin/ldconfig
RUN mkdir -p "${BB_CONFIG_DIR}"
COPY docker-entrypoint.sh /docker-entrypoint.sh
RUN chmod +x /docker-entrypoint.sh
ENTRYPOINT /docker-entrypoint.sh