52 lines
1.5 KiB
Text
52 lines
1.5 KiB
Text
|
#
|
||
|
# This Dockerfile builds a recent curl with HTTP/2 client support, using
|
||
|
# a recent nghttp2 build.
|
||
|
#
|
||
|
# See the Makefile for how to tag it. If Docker and that image is found, the
|
||
|
# Go tests use this curl binary for integration tests.
|
||
|
#
|
||
|
|
||
|
FROM ubuntu:trusty
|
||
|
|
||
|
RUN apt-get update && \
|
||
|
apt-get upgrade -y && \
|
||
|
apt-get install -y git-core build-essential wget
|
||
|
|
||
|
RUN apt-get install -y --no-install-recommends \
|
||
|
autotools-dev libtool pkg-config zlib1g-dev \
|
||
|
libcunit1-dev libssl-dev libxml2-dev libevent-dev \
|
||
|
automake autoconf
|
||
|
|
||
|
# The list of packages nghttp2 recommends for h2load:
|
||
|
RUN apt-get install -y --no-install-recommends make binutils \
|
||
|
autoconf automake autotools-dev \
|
||
|
libtool pkg-config zlib1g-dev libcunit1-dev libssl-dev libxml2-dev \
|
||
|
libev-dev libevent-dev libjansson-dev libjemalloc-dev \
|
||
|
cython python3.4-dev python-setuptools
|
||
|
|
||
|
# Note: setting NGHTTP2_VER before the git clone, so an old git clone isn't cached:
|
||
|
ENV NGHTTP2_VER 895da9a
|
||
|
RUN cd /root && git clone https://github.com/tatsuhiro-t/nghttp2.git
|
||
|
|
||
|
WORKDIR /root/nghttp2
|
||
|
RUN git reset --hard $NGHTTP2_VER
|
||
|
RUN autoreconf -i
|
||
|
RUN automake
|
||
|
RUN autoconf
|
||
|
RUN ./configure
|
||
|
RUN make
|
||
|
RUN make install
|
||
|
|
||
|
WORKDIR /root
|
||
|
RUN wget http://curl.haxx.se/download/curl-7.45.0.tar.gz
|
||
|
RUN tar -zxvf curl-7.45.0.tar.gz
|
||
|
WORKDIR /root/curl-7.45.0
|
||
|
RUN ./configure --with-ssl --with-nghttp2=/usr/local
|
||
|
RUN make
|
||
|
RUN make install
|
||
|
RUN ldconfig
|
||
|
|
||
|
CMD ["-h"]
|
||
|
ENTRYPOINT ["/usr/local/bin/curl"]
|
||
|
|