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.
9
FROM ubuntu:trusty@sha256:881afbae521c910f764f7187dbfbca3cc10c26f8bafa458c76dda009a901c29d
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 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
50
ENTRYPOINT ["/usr/local/bin/curl"]