Dockerfile 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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 autotools-dev libtool pkg-config zlib1g-dev libcunit1-dev libssl-dev libxml2-dev libevent-dev
  13. RUN cd /root && git clone https://github.com/tatsuhiro-t/nghttp2.git
  14. RUN apt-get install -y --no-install-recommends automake autoconf
  15. WORKDIR /root/nghttp2
  16. RUN autoreconf -i
  17. RUN automake
  18. RUN autoconf
  19. RUN ./configure
  20. RUN make
  21. RUN make install
  22. WORKDIR /root
  23. RUN wget http://curl.haxx.se/download/curl-7.38.0.tar.gz
  24. RUN tar -zxvf curl-7.38.0.tar.gz
  25. WORKDIR /root/curl-7.38.0
  26. ADD testdata/curl-http2-eof.patch /tmp/curl-http2-eof.patch
  27. RUN patch -p1 < /tmp/curl-http2-eof.patch
  28. RUN ./configure --with-ssl --with-nghttp2=/usr/local
  29. RUN make
  30. RUN make install
  31. RUN ldconfig
  32. CMD ["-h"]
  33. ENTRYPOINT ["/usr/local/bin/curl"]