Skip to content
Snippets Groups Projects
Commit d6fcd98f authored by Tatsuhiro Tsujikawa's avatar Tatsuhiro Tsujikawa
Browse files

Smaller docker image

parent 07833925
Branches
No related merge requests found
FROM k8s.gcr.io/debian-base-amd64:v2.0.0
FROM debian:10 as build
RUN /usr/local/bin/clean-install \
RUN apt-get update && \
apt-get install -y --no-install-recommends \
git g++ make binutils autoconf automake autotools-dev libtool \
pkg-config libev-dev libjemalloc-dev \
libev4 libjemalloc1 ca-certificates mime-support && \
pkg-config libev-dev libjemalloc-dev \
ca-certificates mime-support && \
git clone --depth 1 -b OpenSSL_1_1_1g-quic-draft-29 https://github.com/tatsuhiro-t/openssl && \
cd openssl && ./config enable-tls1_3 --openssldir=/etc/ssl && make -j$(nproc) && make install_sw && cd .. && rm -rf openssl && \
git clone --depth 1 https://github.com/ngtcp2/nghttp3 && \
......@@ -12,11 +13,25 @@ RUN /usr/local/bin/clean-install \
make -j$(nproc) && make install-strip && cd .. && rm -rf nghttp3 && \
git clone --depth 1 https://github.com/ngtcp2/ngtcp2 && \
cd ngtcp2 && autoreconf -i && \
./configure && \
make -j$(nproc) && make install-strip && cp examples/server examples/client /usr/local/bin && cd .. && rm -rf ngtcp2 && \
strip /usr/local/lib/*.so.*.* /usr/local/lib/engines-*/*.so && \
rm -rf /usr/local/lib/libssl.so /usr/local/lib/libcrypto.so /usr/local/lib/libssl.a /usr/local/lib/libcrypto.a /usr/local/lib/pkgconfig/*ssl.pc /usr/local/include/openssl/* && \
apt-get -y purge git g++ make binutils autoconf automake autotools-dev libtool pkg-config \
libev-dev libjemalloc-dev && \
./configure \
LIBS="-ldl -pthread" \
OPENSSL_LIBS="-l:libssl.a -l:libcrypto.a" \
LIBEV_LIBS="-l:libev.a" \
JEMALLOC_LIBS="-l:libjemalloc.a" && \
make -j$(nproc) LDFLAGS="-static-libtool-libs" && \
strip examples/client examples/server && \
cp examples/client examples/server /usr/local/bin && \
cd .. && rm -rf ngtcp2 && \
apt-get -y purge \
git g++ make binutils autoconf automake autotools-dev libtool \
pkg-config libev-dev libjemalloc-dev \
ca-certificates && \
apt-get -y autoremove --purge && \
rm -rf /var/log/*
FROM gcr.io/distroless/cc-debian10
COPY --from=build /usr/local/bin/client /usr/local/bin/server /usr/local/bin/
COPY --from=build /etc/mime.types /etc/
CMD ["/usr/local/bin/client"]
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment