forked from breuner/elbencho
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile.alpine
25 lines (18 loc) · 956 Bytes
/
Dockerfile.alpine
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
# Elbencho main executable on Alpine Linux for minimum image size
# This uses mimalloc to overcome the malloc performance issues with musl-libc, which otherwise
# would reduce S3 performance.
FROM alpine:3 as builder
RUN apk add bash boost-dev cmake curl-dev gcc g++ git libaio-dev make \
numactl-dev ncurses ncurses-dev sudo
RUN cd /root && git clone --branch v3.0-7-esnet --single-branch https://github.com/esnet/elbencho.git && \
cd elbencho && \
make BACKTRACE_SUPPORT=0 S3_SUPPORT=1 USE_MIMALLOC=1 -j "$(nproc)" && \
make install
FROM alpine:3
COPY --from=builder /usr/local/bin/elbencho /usr/local/bin
COPY --from=builder /root/elbencho/contrib/storage_sweep /usr/local/bin
RUN apk add boost-regex boost-program_options libaio libcurl libstdc++ ncurses \
numactl bash gnuplot && \
ln -s /usr/local/bin/elbencho /usr/bin/elbencho && \
/usr/local/bin/elbencho --version
ENTRYPOINT ["/usr/local/bin/elbencho"]