2 # This Dockerfile builds a recent curl with HTTP/2 client support, using
3 # a recent nghttp2 build.
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.
11 RUN apt-get update && \
12 apt-get upgrade -y && \
13 apt-get install -y git-core build-essential wget
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 \
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
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
32 RUN git reset --hard $NGHTTP2_VER
41 RUN wget http://curl.haxx.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
50 ENTRYPOINT ["/usr/local/bin/curl"]