improving dockerfiles for smaller image size

master
Moisés Guimarães 2017-09-04 22:57:04 -03:00
parent 7d5b8719d1
commit c4d7ddf8d3
3 changed files with 42 additions and 12 deletions

View File

@ -23,7 +23,7 @@
WOLFSSL_DOCKER_TAG="latest"
WOLFSSL_VERSION="3.12.0-stable"
WOLFSSL_MAKE_INSTALL="install-exec"
WOLFSSL_INSTALL="libwolfssl12"
WOLFSSL_INSTALL="libwolfssl12/sid"
function usage()
{
@ -46,7 +46,7 @@ while [ "$1" != "" ]; do
;;
--with-dev)
WOLFSSL_MAKE_INSTALL="install"
WOLFSSL_INSTALL=$WOLFSSL_INSTALL" libwolfssl-dev"
WOLFSSL_INSTALL=$WOLFSSL_INSTALL" libwolfssl-dev/sid"
;;
--from-src)
WOLFSSL_INSTALL_FROM_SOURCE=1

View File

@ -24,10 +24,10 @@ FROM debian
ARG WOLFSSL_INSTALL
# install wolfssl from sid
RUN echo "deb http://ftp.it.debian.org/debian sid main contrib non-free" \
RUN set -eux \
&& echo "deb http://ftp.it.debian.org/debian sid main contrib non-free" \
> /etc/apt/sources.list.d/wolfssl.list \
&& apt-get update \
&& apt-get install ${WOLFSSL_INSTALL} \
&& apt-get clean \
&& apt-get install -y ${WOLFSSL_INSTALL} \
&& rm -rf /var/lib/apt/lists/* \
&& rm /etc/apt/sources.list.d/wolfssl.list

View File

@ -24,20 +24,50 @@ ARG WOLFSSL_VERSION
ARG WOLFSSL_MAKE_INSTALL
RUN cd /home \
RUN set -eux \
# installing build deps
&& buildDeps=' \
autoconf \
automake \
ca-certificates \
curl \
g++ \
libtool \
make \
unzip \
' \
&& apt-get update \
&& apt-get install -y wget unzip autoconf libtool make \
&& wget https://github.com/wolfSSL/wolfssl/archive/v${WOLFSSL_VERSION}.zip \
&& apt-get install -y --no-install-recommends $buildDeps \
&& rm -rf /var/lib/apt/lists/* \
# downloading source files
&& curl \
-LS https://github.com/wolfSSL/wolfssl/archive/v${WOLFSSL_VERSION}.zip \
-o v${WOLFSSL_VERSION}.zip \
&& unzip v${WOLFSSL_VERSION}.zip \
&& rm v${WOLFSSL_VERSION}.zip \
# building and installing wolfssl
&& cd wolfssl-${WOLFSSL_VERSION} \
&& ./autogen.sh \
&& ./configure \
--build=x86_64-linux-gnu \
--prefix=/usr \
--includedir=\${prefix}/include \
--mandir=\${prefix}/share/man \
--infodir=\${prefix}/share/info \
--sysconfdir=/etc \
--localstatedir=/var \
--libdir=\${prefix}/lib/x86_64-linux-gnu \
--libexecdir=\${prefix}/lib/x86_64-linux-gnu \
--disable-dependency-tracking \
--enable-sha224 \
--enable-distro \
--disable-examples \
--disable-silent-rules \
&& make \
&& make check \
&& make ${WOLFSSL_MAKE_INSTALL} \
&& ldconfig \
# cleaning building deps
&& cd .. \
&& rm -rf wolfssl-${WOLFSSL_VERSION} \
&& rm v${WOLFSSL_VERSION}.zip \
&& apt-get autoremove -y wget unzip autoconf libtool make \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
&& apt-get purge -y --auto-remove $buildDeps