]>
Commit | Line | Data |
---|---|---|
15c0b25d AP |
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 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 | |
45 | RUN make | |
46 | RUN make install | |
47 | RUN ldconfig | |
48 | ||
49 | CMD ["-h"] | |
50 | ENTRYPOINT ["/usr/local/bin/curl"] | |
51 |