Pull to refresh

Comments 8

Странно, начав с упоминания Спринга, не рассказать в результате о Layered Jars, который потенциально даст гораздо большую экономию, чем чистка кэшей пакетов и прочие общеизвестные вещи.

А каким именно образом, из статьи следует, что это ускорит сборку докер образа за счёт того, что пересобирается только один слой, но на размер образа влиять не должно

Да, вы правы - но я как-то подсознательно имел в виду, что приложение у нас не одно, а следовательно - сэкономить можно на одинаковых "нижних спринговых" слоях.

да, об этом не подумал, если еще вместо загрузки образов всяких сервисов с докер-хаба собрать все самому на базе одного базового образа - можно наверное добиться существенной экономии

Старайтесь использовать меньше слоев. Одинаковые или однородные инструкции можно писать в одном слое, что сделает ваш image чуть меньше.

Неверно! Это ошибка, которую все друг у друга копируют, не понимая смысла. Одна из задач слоев - кэширование результата этапа для ускорения сборки. Это требует вдумчивого подхода, особенно для образов, которые долго собираются.

А насколько образ станет меньше, при уменьшении кол-ва слоев, вы проверяли? ;)

Ох уж эти слои и святой Alpine. Каждая первая статья про это.

Удаление кэша
Устанавливая пакеты, в той же команде стоит очищать кэш, это может уменьшить размер image на несколько сотен мегабайт. К предыдущей команде дописываем удаление директории с кэшем.

# Install required packages to run
RUN     DEBIAN_FRONTEND=noninteractive apt-get update \
    &&  DEBIAN_FRONTEND=noninteractive apt-get upgrade -y --fix-missing --no-install-recommends nginx \
    &&  apt-get clean -y && apt-get autoremove -y && apt-get autoclean -y && rm -r /var/lib/apt/lists/*

А почему упомянут только overlay, ведь есть еще btrfs, zfs, vfs

Sign up to leave a comment.

Articles