DevOps Инженер | Kubernetes, Docker & CI/CD. SRE Практики, Linux и Cloud. Девопс инфраструктура, автоматизация и Python. IT технологии.
IT и технологии · 5 августа 2026 г.
🔥 Как ускорить docker build и сократить размер образа — 5 августа 2026 г. в 07:48:21.699
🔥 Как ускорить docker build и сократить размер образа Иногда docker build тянется вечность, а итоговый образ весит больше, чем база данных 🐘. Разбираемся, как ускорить сборку и оптимизировать размер образа без потери функциональности. 1. Используй multistage build Разделяй стадии сборки и финальный образ. Это особенно важно при компиляции (Go, Java, Node.js): # Стадия 1: билд FROM golang:1.20 as builder WORKDIR /app COPY . . RUN go build -o app # Стадия 2: минимальный runtime FROM alpine:latest COPY --from=builder /app/app /usr/local/bin/app ENTRYPOINT ["app"] Образ получается меньше 10 МБ! 2. Минимизируй base image Используй alpine, distroless, scratch, если не нужен полноценный дистрибутив: FROM python:3.12-slim Или вообще: FROM scratch 3. Правильно расставляй COPY и RUN Кешируй слои — сначала зависимости, потом исходники: COPY requirements.txt . RUN pip install -r requirements.txt COPY . . Так pip install не будет повторяться при каждом изменении исходников. 4. Убирай мусор и временные файлы После установки пакетов — чисти кэш: RUN apt-get update && apt-get install -y ... \ && rm -rf /var/lib/apt/lists/* 5. Используй .dockerignore Иначе в билд попадут node_modules, .git, логи и прочее: .git node_modules *.log Вывод: Минимизация образа — это не только про размер, но и про безопасность (меньше surface area), скорость CI/CD, стабильность. И не забывай — docker build тоже надо профилировать. #devops #docker #ci #optimization Подпишись 👉 @i_DevOps

