# dockerfile-generator

Скилл собирает production-ready Dockerfile и .dockerignore, проверяет их валидатором и сам правит ошибки. Пригодится, когда нужно затащить сервис в контейнер без ручного перебора слоёв.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 699 установок · ★ 327
- Автор: akin-ozer
- Лицензия: Apache-2.0 · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/akin-ozer/cc-devops-skills/tree/HEAD/devops-skills-plugin/skills/dockerfile-generator/SKILL.md
- Обновлён: 2026-07-26
- HTML: https://affpapa.org/nevibecode/skills/dockerfile-generator

## Что делает

Скилл ведёт работу по шагам: сначала спрашивает язык и версию рантайма, точку входа, порты, пакетный менеджер и health-эндпоинт, потом генерирует Dockerfile и `.dockerignore`. Дальше запускает проверку через `dockerfile-validator` и повторяет правки, пока не останется ошибок. Если после трёх итераций что-то не сходится, выдаёт отчёт о намеренных отклонениях.

Внутри есть локальные справочники: `references/security_best_practices.md` про non-root пользователей и работу с секретами, `references/optimization_patterns.md` про multi-stage и кэш слоёв, `references/language_specific_guides.md` под Node.js, Python, Go и Java. Если этих файлов не хватает, скилл идёт в Context7 за документацией фреймворка, а веб-поиск подключает только когда Context7 недоступен. При офлайн-работе он остаётся на локальных шаблонах и помечает это в отчёте.

Границы простые: скилл пишет конфиги, но не собирает и не запускает контейнеры и не разбирается с уже работающими. Для проверки готового Dockerfile есть отдельный `dockerfile-validator`. Учтите, что для шага с Context7 нужен настроенный MCP-сервер — без него цепочка поиска обрывается на локальных файлах.

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

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add akin-ozer/cc-devops-skills --skill dockerfile-generator -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add akin-ozer/cc-devops-skills --skill dockerfile-generator -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add akin-ozer/cc-devops-skills --skill dockerfile-generator -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install akin-ozer/cc-devops-skills dockerfile-generator
```

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

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add akin-ozer/cc-devops-skills --skill dockerfile-generator -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/akin-ozer/cc-devops-skills --path devops-skills-plugin/skills/dockerfile-generator
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add akin-ozer/cc-devops-skills --skill dockerfile-generator -a opencode
```

### Claude.ai

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

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/akin-ozer/cc-devops-skills/tree/HEAD/devops-skills-plugin/skills/dockerfile-generator/SKILL.md

## Когда брать
- собрать multi-stage Dockerfile для Node.js-сервиса
- вынести build-зависимости из финального образа
- закрыть секреты и запустить контейнер от non-root пользователя
- сгенерировать `.dockerignore` под конкретный проект
- переписать старый Dockerfile под кэширование слоёв

## Примеры запросов агенту
- Сгенерируй production Dockerfile для FastAPI-приложения на Python 3.12
- Сделай multi-stage Dockerfile для Go-сервиса и добавь .dockerignore
- Перепиши мой Dockerfile: убери build-инструменты из финального образа

## Похожие
- [dockerfile-optimizer](https://affpapa.org/nevibecode/skills/dockerfile-optimizer.md) — скилл · 530 установок
- [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 установок

Из того же набора: [akin-ozer/cc-devops-skills](https://affpapa.org/nevibecode/by/akin-ozer/cc-devops-skills.md) — 28 карточек

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

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