Как сократить размер образа Docker

1. Использовать RUN, ENV, ADD, COPY по-минимуму

RUN, ENV, ADD, COPY можно объединить:

RUN apt-get update && \
    apt-get install && \
    ...

WORKDIR /scripts    
ENV TZ="Europe/Moscow" \
    PATH="$PATH:$WORKDIR" \
    CHARSET_IN="utf-8" \
    CHARSET_OUT="utf-8" \
    ...

2. Удалить ненужные пакеты

На примере сборки varnish из исходников:

# пакеты, необходимые для сборки
ARG APT_PACKS_DEV="make automake autotools-dev libedit-dev libncurses-dev libpcre3-dev libtool pkg-config python3-docutils python3-sphinx wget"
# необходимые пакеты для запуска
ARG APT_PACKS="libjemalloc-dev gcc"

RUN apt-get update && \
    apt-get install -y ${APT_PACKS} ${APT_PACKS_DEV}

# ...

RUN cd / && \
    apt-get purge -y --auto-remove ${APT_PACKS_DEV} && \
    rm -rf /tmp/* && \
    rm -rf /var/lib/apt/lists/*
Печать/экспорт