TGViewer
Docker простыми словами Docker простыми словами @justdocker · 6.3K subscribers
Post #649 1.75K
🧠 Docker-совет: не копируй весь проект в image слишком рано

Одна из частых ошибок в Dockerfile:


COPY . .
RUN npm install


или:


COPY . .
RUN go mod download


Проблема в том, что Docker cache ломается при любом изменении любого файла.

Поменял README, тест, конфиг или один исходник — слой COPY . . изменился, значит зависимости снова скачиваются и билд становится медленным.

Правильный подход: сначала копировать только dependency manifest, установить зависимости, а уже потом копировать остальной код.

Для Node.js:


COPY package.json package-lock.json ./
RUN npm ci

COPY . .


Для Go:


COPY go.mod go.sum ./
RUN go mod download

COPY . .


Для Python:


COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

COPY . .


Так Docker будет переиспользовать слой с зависимостями, пока реально не изменились package-lock.json, go.sum или requirements.txt.

Ещё сильнее помогает .dockerignore.

Туда стоит добавить:


.git
node_modules
dist
build
coverage
.env
*.log


Итог: меньше контекста, меньше лишних invalidated layers, быстрее CI/CD, стабильнее кеши.

Хороший Dockerfile - это не просто “собрать image”.
Это управлять слоями так, чтобы сборка не начиналась с нуля при каждом чихе.
  • ❤ 4
  • 👍 1
More from @justdocker
  1. Sep 25, 2026🐳 Как устроен Docker: что происходит «под капотом» Поговорим немного про базу. Docker — о…
  2. Sep 25, 2026Kagent + Ollama: ИИ-агент для работы с Kubernetes Как использовать локальную языковую моде…
  3. Sep 22, 2026Из вашего резюме вообще понятно, что вы умеете как DevOps-инженер? Мы разбили работу DevOp…
  4. Sep 21, 2026🐳 Docker-образ с 3,17 ГБ до 354 МБ - почти в 9 раз меньше Такая оптимизация обычно достиг…
  5. Sep 15, 2026eBPF: рентгеновское зрение для production Сервис замедлился, соединения обрываются, а прив…
  6. Sep 10, 2026Чат с вашими резюме. Присылайте резюме, чтобы HR вас увидела и ей(ему) было удобно с вами…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →