TGViewer
Вайб-кодинг по Чуйкову | Ментор Вайб-кодинг по Чуйкову | Ментор @vibe_coding · 6.77K subscribers
Post #401 1.78K
Docker съел все свободное пространство на жестком диске!

На прошлой неделе проводил урок по Docker на курсе по вайб-кодингу.

Студенты научились упаковывать свои приложения в контейнеры, но одну важную деталь я не успел подсветить.

Docker по умолчанию хранит ВСЁ:
- каждую сборку образа
- неиспользуемые volumes
- build cache

Всё это лежит мертвым грузом и жрет гигабайты.

За пару месяцев экспериментов легко накапливается 30-50 ГБ мусора!

Быстрое решение:


docker system prune


Эта команда удалит весь неиспользуемый хлам.

Но это только полдела.

Даже если регулярно чистить систему, Docker-образы могут быть раздутыми изначально.

Вот что реально уменьшает размер:

1️⃣ Используйте alpine-образы

python:3.14 весит 400+ МБ
python:3.14-alpine весит 20+ МБ

В 20 раз разница! А работает практически так же.

2️⃣ Объединяйте команды в RUN

Плохо:

RUN apt-get update
RUN apt-get install curl
RUN apt-get clean


Хорошо:

RUN apt-get update && \
apt-get install -y curl && \
apt-get clean


Каждый RUN - это новый слой в образе. Меньше слоев = меньше размер.

3️⃣ Добавьте .dockerignore

Без него в образ улетают:
- node_modules
- .git
- .env файлы
- всякий мусор

Это не только раздувает размер, но и может создать дыру в безопасности.

4️⃣ Multi-stage builds - это must-have

Собирайте приложение в одном контейнере, а в продакшн копируйте только результат:


# Сборка
FROM node:18 as builder
WORKDIR /app
COPY . .
RUN npm install && npm run build

# Продакшн
FROM node:18-alpine
COPY --from=builder /app/dist ./dist
CMD ["node", "dist/index.js"]


В финальном образе нет dev-зависимостей, компилятора и прочего хлама.

Итого:

С такой оптимизацией образ легко сжимается с 600+ МБ до 50 МБ. Почти в 12 раз!

Это значит:
- быстрее CI/CD
- быстрее деплой
- дешевле хостинг
- меньше уязвимостей

А знаете, что самое приятное?

Вам не нужно во всём этом разбираться.

Достаточно правильно поставить задачу кодинг-агенту:
Оптимизируй мой Dockerfile, используй alpine, multi-stage build и .dockerignore


И он сделает всё за вас.

Попробуйте в Warp.dev - он понимает контекст вашего проекта и может сразу применить изменения.

А не как я - годами вручную ковырялся в Dockerfile'ах.

@vibe_coding
  • 👍 13
  • 🔥 5
  • 🙏 3
  • ❤ 1
More from @vibe_coding
  1. Sep 21, 2026Две бесплатные открытые альтернативы Grok Bot Я тут кайфанул от нового юзер экспириенса ра…
  2. Sep 20, 2026За 1 день закончились недельные лимиты в Codex за 200$, доплатил кредитами 20$, хватило на…
  3. Sep 16, 2026Нашел +1 причину перейти на терминальный Claude Code с десктопного. Оказывается десктоп ве…
  4. Sep 14, 2026Делюсь полезными халявными находками! Нашел дешевые +1 номера, сработало подтверждение ном…
  5. Sep 10, 2026Ребят, я тут планирую интеграцию Lovarus внешними CRM. Какие сейчас в РФ рынке в топе, что…
  6. Sep 10, 2026Тестирую новую Image модель от OpenAI. Они и раньше были крутыми. Не чувствую сильно уже р…
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 →