drogon.dockerfile 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. FROM ubuntu:18.04
  2. COPY ./ ./
  3. RUN apt-get update -yqq && \
  4. apt-get install -yqq software-properties-common && \
  5. apt-get install -yqq sudo curl wget cmake locales git \
  6. openssl libssl-dev \
  7. libjsoncpp-dev \
  8. uuid-dev libreadline-dev libbison-dev flex \
  9. zlib1g-dev && \
  10. add-apt-repository ppa:ubuntu-toolchain-r/test -y && \
  11. apt-get update -yqq && \
  12. apt-get install -yqq gcc-8 g++-8
  13. RUN locale-gen en_US.UTF-8
  14. ENV LANG en_US.UTF-8
  15. ENV LANGUAGE en_US:en
  16. ENV LC_ALL en_US.UTF-8
  17. ENV CC=gcc-8
  18. ENV CXX=g++-8
  19. ENV AR=gcc-ar-8
  20. ENV RANLIB=gcc-ranlib-8
  21. ENV IROOT=/install
  22. ENV DROGON_ROOT=$IROOT/drogon
  23. ENV PG_ROOT=$IROOT/postgres-batch_mode_ubuntu
  24. ENV TEST_PATH=/drogon_benchmark/build
  25. WORKDIR $IROOT
  26. RUN wget https://github.com/an-tao/postgres/archive/batch_mode_ubuntu.tar.gz
  27. RUN tar -xvzf batch_mode_ubuntu.tar.gz
  28. WORKDIR $PG_ROOT
  29. RUN ./configure --prefix=/usr CFLAGS='-O2 -pipe'
  30. RUN make && make install
  31. WORKDIR $IROOT
  32. RUN git clone https://github.com/an-tao/drogon
  33. WORKDIR $DROGON_ROOT
  34. RUN git checkout 668533fbbd20eb9c493841b0e1067097aadf0342
  35. RUN git submodule update --init
  36. RUN mkdir build
  37. WORKDIR $DROGON_ROOT/build
  38. RUN cmake -DCMAKE_BUILD_TYPE=release ..
  39. RUN make && make install
  40. WORKDIR $TEST_PATH
  41. RUN cmake -DCMAKE_BUILD_TYPE=release ..
  42. RUN make
  43. CMD ./drogon_benchmark config.json