Docker для Маркетера

Образ на 1,2 ГБ там, где хватило бы 80 МБ

Образ на 1,2 ГБ там, где хватило бы 80 МБ

Первый собственный Dockerfile почти всегда получается раздутым. Разбираю, откуда берётся вес и как его убрать.

Причина 1: тяжёлый базовый образ. FROM ubuntu тянет полную систему. Для большинства задач подходят alpine-варианты: node:20-alpine вместо node:20 — разница в разы.

Причина 2: мусор от установки пакетов. После apt-get install остаётся кэш. Чистите в той же строке: RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists (с содержимым папки). Именно в одной строке — каждая RUN создаёт слой, и удаление в следующей строке не уменьшит предыдущий.

Причина 3: попали лишние файлы. COPY . . копирует всё, включая node_modules, .git, локальные дампы. Создайте .dockerignore по аналогии с .gitignore.

Причина 4: сборка и запуск в одном образе. Для фронтенда используйте multi-stage: собираете в одном образе, копируете готовые файлы в лёгкий nginx.

Проверяйте результат через docker images.
Этот пост опубликован в Telegram-канале Docker для Маркетера. Подписаться можно по ссылке: @docker_marketers.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.