libhttpserver.dockerfile 1.1 KB

123456789101112131415161718192021222324
  1. FROM buildpack-deps:xenial
  2. RUN apt-get update -yqq && apt-get install -yqq software-properties-common unzip cmake
  3. ENV LHT_HOME /libhttpserver
  4. WORKDIR ${LHT_HOME}
  5. ENV LIBMICROHTTPD_VERSION 0.9.59
  6. ENV LIBHTTPSERVER_VERSION 0.17.5
  7. RUN curl https://s3.amazonaws.com/libhttpserver/libmicrohttpd_releases/libmicrohttpd-${LIBMICROHTTPD_VERSION}.tar.gz -o libmicrohttpd-${LIBMICROHTTPD_VERSION}.tar.gz
  8. RUN tar -xvzf libmicrohttpd-${LIBMICROHTTPD_VERSION}.tar.gz
  9. RUN cd libmicrohttpd-${LIBMICROHTTPD_VERSION} && ./configure --disable-examples && make && make install
  10. RUN curl -L https://github.com/etr/libhttpserver/archive/${LIBHTTPSERVER_VERSION}.tar.gz -o libhttpserver-${LIBHTTPSERVER_VERSION}.tar.gz
  11. RUN tar -xvzf libhttpserver-${LIBHTTPSERVER_VERSION}.tar.gz
  12. RUN cd libhttpserver-${LIBHTTPSERVER_VERSION} && ./bootstrap && mkdir build && cd build && ../configure --enable-fastopen && make && make install
  13. COPY benchmark.cpp benchmark.cpp
  14. ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
  15. RUN g++ -O3 -std=c++11 -o benchmark benchmark.cpp -lhttpserver -L/usr/local/lib
  16. CMD ./benchmark 8080 $(nproc)