Dockerfile 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #
  2. # This Dockerfile builds a recent curl with HTTP/2 client support, using
  3. # a recent nghttp2 build.
  4. #
  5. # See the Makefile for how to tag it. If Docker and that image is found, the
  6. # Go tests use this curl binary for integration tests.
  7. #
  8. FROM ubuntu:trusty
  9. RUN apt-get update && \
  10. apt-get upgrade -y && \
  11. apt-get install -y git-core build-essential wget
  12. RUN apt-get install -y --no-install-recommends \
  13. autotools-dev libtool pkg-config zlib1g-dev \
  14. libcunit1-dev libssl-dev libxml2-dev libevent-dev \
  15. automake autoconf
  16. # Note: setting NGHTTP2_VER before the git clone, so an old git clone isn't cached:
  17. ENV NGHTTP2_VER af24f8394e43f4
  18. RUN cd /root && git clone https://github.com/tatsuhiro-t/nghttp2.git
  19. WORKDIR /root/nghttp2
  20. RUN git reset --hard $NGHTTP2_VER
  21. RUN autoreconf -i
  22. RUN automake
  23. RUN autoconf
  24. RUN ./configure
  25. RUN make
  26. RUN make install
  27. WORKDIR /root
  28. RUN wget http://curl.haxx.se/download/curl-7.40.0.tar.gz
  29. RUN tar -zxvf curl-7.40.0.tar.gz
  30. WORKDIR /root/curl-7.40.0
  31. RUN ./configure --with-ssl --with-nghttp2=/usr/local
  32. RUN make
  33. RUN make install
  34. RUN ldconfig
  35. CMD ["-h"]
  36. ENTRYPOINT ["/usr/local/bin/curl"]