github.com/lianghucheng/zrddz@v0.0.0-20200923083010-c71f680932e2/src/golang.org/x/net/http2/Dockerfile (about)

     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