Dockerfile (1486B)
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 9 FROM ubuntu:trusty 10 11 RUN apt-get update && \ 12 apt-get upgrade -y && \ 13 apt-get install -y git-core build-essential wget 14 15 RUN apt-get install -y --no-install-recommends \ 16 autotools-dev libtool pkg-config zlib1g-dev \ 17 libcunit1-dev libssl-dev libxml2-dev libevent-dev \ 18 automake autoconf 19 20 # The list of packages nghttp2 recommends for h2load: 21 RUN apt-get install -y --no-install-recommends make binutils \ 22 autoconf automake autotools-dev \ 23 libtool pkg-config zlib1g-dev libcunit1-dev libssl-dev libxml2-dev \ 24 libev-dev libevent-dev libjansson-dev libjemalloc-dev \ 25 cython python3.4-dev python-setuptools 26 27 # Note: setting NGHTTP2_VER before the git clone, so an old git clone isn't cached: 28 ENV NGHTTP2_VER 895da9a 29 RUN cd /root && git clone https://github.com/tatsuhiro-t/nghttp2.git 30 31 WORKDIR /root/nghttp2 32 RUN git reset --hard $NGHTTP2_VER 33 RUN autoreconf -i 34 RUN automake 35 RUN autoconf 36 RUN ./configure 37 RUN make 38 RUN make install 39 40 WORKDIR /root 41 RUN wget https://curl.se/download/curl-7.45.0.tar.gz 42 RUN tar -zxvf curl-7.45.0.tar.gz 43 WORKDIR /root/curl-7.45.0 44 RUN ./configure --with-ssl --with-nghttp2=/usr/local 45 RUN make 46 RUN make install 47 RUN ldconfig 48 49 CMD ["-h"] 50 ENTRYPOINT ["/usr/local/bin/curl"] 51