You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.5 KiB
51 lines
1.5 KiB
# |
|
# 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"] |
|
|
|
|