Сборка Python-сервиса в Docker идёт долго: при каждом изменении кода заново ставятся зависимости. Как оптимизировать время сборки без потери воспроизводимости?
👾 — COPY . . перед установкой и RUN pip install -r requirements.txt
👍 — Многоступенчатая сборка + стабильный базовый образ; сначала COPY requirements*.txt и
RUN --mount=type=cache,target=/root/.cache/pip pip install -r requirements.txt, затем COPY src/ . — чтобы кэш слоёв зависимостей сохранялся
🥰 — Всегда брать python:latest, чтобы получать свежие зависимости
⚡️ — Собирать с --no-cache, чтобы не было «залипшего» кэша
Библиотека задач DevOps
Post #1132
340
- 👍 3