mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-15 17:31:56 +03:00
39 lines
1.3 KiB
Docker
39 lines
1.3 KiB
Docker
|
# Building wrk-websocket-server
|
||
|
FROM alpine:3.11.3 as server-builder
|
||
|
RUN apk add cabal ghc
|
||
|
RUN apk add ca-certificates
|
||
|
RUN apk add wget
|
||
|
RUN apk add musl-dev
|
||
|
RUN apk add zlib zlib-dev
|
||
|
RUN apk add git
|
||
|
RUN apk add postgresql postgresql-dev
|
||
|
RUN apk add binutils-gold
|
||
|
COPY wrk-websocket-server.cabal cabal.project.local cabal.project cabal.project.freeze /root/wrk-websocket-dir/
|
||
|
WORKDIR /root/wrk-websocket-dir
|
||
|
RUN cabal new-update
|
||
|
RUN cabal new-build --only-dependencies
|
||
|
COPY src/ src/
|
||
|
COPY app/ app/
|
||
|
RUN cabal new-build
|
||
|
RUN cp $(cabal new-exec which wrk-websocket-server) /tmp
|
||
|
|
||
|
# Building wrk2
|
||
|
FROM alpine:3.11.3 as wrk2-builder
|
||
|
ARG tag=print-latencies
|
||
|
RUN apk add alpine-sdk openssl-dev luajit-dev
|
||
|
RUN apk add zlib zlib-dev
|
||
|
RUN wget -O /tmp/wrk2.zip https://github.com/hasura/wrk2/archive/$tag.zip
|
||
|
RUN unzip /tmp/wrk2.zip -d /tmp/
|
||
|
RUN make -C /tmp/wrk2-${tag}
|
||
|
|
||
|
# Install wrk as an alpine package
|
||
|
FROM alpine:3.11.3
|
||
|
ARG tag=print-latencies
|
||
|
ENV HASURA_BENCH_WRK_LUA_SCRIPT=/root/bench_scripts/bench-wrk.lua
|
||
|
ENV HASURA_BENCH_WRK2_LUA_SCRIPT=/root/bench_scripts/bench-wrk2.lua
|
||
|
MAINTAINER nizar@hasura.io
|
||
|
RUN apk add wrk lua5.1-cjson gmp libffi-dev
|
||
|
COPY --from=server-builder /tmp/wrk-websocket-server /usr/bin/wrk-websocket-server
|
||
|
COPY --from=wrk2-builder /tmp/wrk2-$tag/wrk /usr/bin/wrk2
|
||
|
COPY bench_scripts /root/bench_scripts
|