123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #
- # 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"]
|