DevOps Инженер | Kubernetes, Docker & CI/CD. SRE Практики, Linux и Cloud. Девопс инфраструктура, автоматизация и Python. IT технологии.
IT и технологии · 6 августа 2026 г.
🔥 Ускоряем сборку Docker-образов: слои и кэш - наши друзья — 6 августа 2026 г. в 06:31:15.711
🔥 Ускоряем сборку Docker-образов: слои и кэш - наши друзья Когда сборка Dockerfile занимает минуты - это мешает dev-loop'у. А ведь можно сильно ускориться с парой простых правил 👇 🧠 Основные принципы ускорения: 1. Максимально используем кэш Docker кэширует каждый слой. Если слой не изменился - пересобирать не будет. ➤ Сначала COPY зависимости, потом остальной код: COPY requirements.txt . RUN pip install -r requirements.txt # кэшируется COPY . . # некэшируемо при любом изменении в коде 2. Объединяем RUN-команды Меньше слоёв - быстрее сборка и push: RUN apt update && apt install -y curl git \ && rm -rf /var/lib/apt/lists/* 3. .dockerignore Убедись, что не копируешь лишние файлы (например, .git/, tests/, node_modules/): .git node_modules *.log __pycache__/ 4. Меньше COPY, больше multi-stage Разделяй сборку и runtime - не таскай компиляторы в прод: FROM golang:1.20 AS builder WORKDIR /app COPY . . RUN go build -o app FROM debian:bullseye-slim COPY --from=builder /app/app /usr/bin/app CMD ["app"] 5. Кэшируй pip/npm/go-пакеты → в Dockerfile сначала копируй файл зависимостей, ставь пакеты, только потом - весь код проекта. 📌 Используй эти практики, чтобы ускорить CI/CD, локальную сборку и деплой. Чем меньше слоёв изменяется - тем быстрее весь процесс. Подпишись 👉 @i_DevOps

