# dockerfile-optimizer

Скилл переписывает Dockerfile под многоэтапную сборку: меньше образ, быстрее сборка, кэш слоёв работает как надо. Пригодится, когда образ раздулся или сборка идёт по десять минут.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 530 установок · ★ 63
- Автор: patricio0312rev
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/patricio0312rev/skills/tree/HEAD/ci-cd/dockerfile-optimizer/SKILL.md
- Обновлён: 2026-01-12
- HTML: https://affpapa.org/nevibecode/skills/dockerfile-optimizer

## Что делает

Скилл разбирает текущий Dockerfile и предлагает конкретные правки по шести шагам: анализ, многоэтапная сборка, порядок инструкций под кэш, уменьшение размера образа, hardening и healthcheck. Внутри есть готовые примеры для Node.js, Next.js, Python, Go, Rust и Java — с базовыми образами от `node:20` до `gcr.io/distroless/nodejs20`, таблицей размеров и разбором, какой брать под какую задачу.

Отдельный блок про кэш слоёв: сначала системные зависимости и пользователь, потом `package.json`, потом `npm ci`, и только в конце исходники. Плюс шаблон `.dockerignore` с `.git`, `node_modules`, `dist`, `.env*.local` и прочим мусором. Для безопасности скилл добавляет непривилегированного пользователя через `adduser`/`useradd`, `USER` в рантайме и `HEALTHCHECK`.

Учтите: примеры завязаны на конкретные базовые образы и менеджеры пакетов из текста скилла — если у вас pnpm, yarn или другой дистрибутив, шаги придётся адаптировать самому. Скилл ничего не запускает и не собирает образ за вас, он только правит файл.

## Требования
- Работает с: Docker

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add patricio0312rev/skills --skill dockerfile-optimizer -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/dockerfile-optimizer/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/dockerfile-optimizer/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add patricio0312rev/skills --skill dockerfile-optimizer -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/dockerfile-optimizer/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add patricio0312rev/skills --skill dockerfile-optimizer -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/dockerfile-optimizer/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install patricio0312rev/skills dockerfile-optimizer
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/dockerfile-optimizer/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add patricio0312rev/skills --skill dockerfile-optimizer -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/patricio0312rev/skills --path ci-cd/dockerfile-optimizer
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/dockerfile-optimizer/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add patricio0312rev/skills --skill dockerfile-optimizer -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/patricio0312rev/skills/tree/HEAD/ci-cd/dockerfile-optimizer/SKILL.md

## Когда брать
- сократить размер образа за счёт slim и distroless баз
- разложить сборку на этапы builder и runtime
- починить кэш слоёв, чтобы `npm ci` не перезапускался на каждую правку кода
- добавить непривилегированного пользователя и healthcheck
- написать `.dockerignore`, чтобы контекст сборки не тащил `.git` и `node_modules`

## Примеры запросов агенту
- оптимизируй мой Dockerfile для Node.js
- образ весит больше гигабайта, уменьши его
- перепиши Dockerfile под многоэтапную сборку и добавь healthcheck

## Похожие
- [dockerfile-generator](https://affpapa.org/nevibecode/skills/dockerfile-generator.md) — скилл · 699 установок
- [dockerfile-optimise](https://affpapa.org/nevibecode/skills/dockerfile-optimise.md) — скилл · 344 установки
- [docker-project-foundations](https://affpapa.org/nevibecode/skills/docker-project-foundations.md) — скилл · 1000 установок
- [docker](https://affpapa.org/nevibecode/skills/bobmatnyc-docker.md) — скилл · 1000 установок
- [docker-best-practices](https://affpapa.org/nevibecode/skills/docker-best-practices.md) — скилл · 938 установок
- [docker-management](https://affpapa.org/nevibecode/skills/docker-management.md) — скилл · 508 установок

Из того же набора: [patricio0312rev/skills](https://affpapa.org/nevibecode/by/patricio0312rev/skills.md) — 26 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
