К основному содержанию
правило

docker — правило для Cursor: что делает и как установить

Набор инструкций для Cursor по сборке безопасных production-образов Docker. Помогает писать чистые Dockerfile и docker-compose без root-доступа и лишних слоёв.

Установить в Cursor · Вручную: положить файлы Все способы и платформы ↓
.cursor/rules/docker.mdc
Открыть на GitHub

Что делает docker

Правило активируется при работе с файлами Dockerfile, docker-compose*.yml, docker-compose*.yaml и .dockerignore. Cursor начинает требовать фиксацию версий базовых образов вроде node:20.11-alpine3.19 вместо тега :latest. Для компилируемых языков правило предписывает использовать multi-stage сборки. Команды RUN объединяются через &&, а кэширование слоёв выстраивается по цепочке: копирование манифестов зависимостей, их установка и только потом перенос исходного кода.

В файлах запрещается использовать команду ADD, если достаточно COPY. Секреты нельзя передавать через аргументы сборки или слои образа, а файлы .env должны отсекаться через .dockerignore. Перед директивой CMD обязательно объявляется непривилегированный пользователь через USER. Для проверки контейнеров на уязвимости в CI правило направляет на сканеры вроде docker scout или trivy.

Логирование разрешено только в stdout и stderr. Никаких записей в файлы внутри контейнера.

Какие задачи решает

  • заблокировать запуск контейнеров под root-пользователем в проде
  • настроить кэширование слоёв при установке зависимостей в Dockerfile
  • составить .dockerignore для исключения .env, node_modules и тестов
  • перевести конфигурацию сервисов на custom bridge-сети вместо host-режима

Примеры запросов агенту

  • Напиши production-ready Dockerfile для сборки Go-сервиса с multi-stage билдом.
  • Проверь мой docker-compose.yml на соответствие правилам безопасности и сетям.
  • Сделай .dockerignore для проекта на Node.js, чтобы исключить секреты и логи.

Как установить docker

Вручную: положить файлы

.cursor/rules/docker.mdc

Во frontmatter: description, globs, alwaysApply

По шагам, с командами для каждой платформы: Cursor rules: файлы .mdc, четыре режима и замена .cursorrules

Вопросы о docker

Как установить правило docker в Cursor?

Создайте файл .cursor/rules/docker.mdc в корне репозитория и добавьте в него содержимое правила. Cursor будет применять его при открытии файлов Dockerfile и compose.

Что запрещает это правило в Dockerfile?

Оно запрещает тег :latest, запуск процессов под пользователем root и директиву ADD вместо COPY. Секреты в слоях образов также под запретом.

Как настраивается работа с томами и сетями?

Для постоянных данных правило требует использовать именованные тома, запрещая bind mounts в продакшене. Сети должны быть изолированными bridge, без режима host.

Исходный текст

docker.mdc · CC0-1.0
---
description: "Docker production rules. Pinned versions, multi-stage builds, non-root user, minimal attack surface."
globs: Dockerfile, Dockerfile.*, docker-compose*.yml, docker-compose*.yaml, .dockerignore
alwaysApply: false
---
# Docker Rules

Expert Docker practitioner. Minimal, secure, reproducible images.

## Dockerfile
- Pin versions: FROM node:20.11-alpine3.19 (never :latest)
- Multi-stage builds for compiled languages
- Layer cache: copy package files → install → copy source
- Combine RUN commands with && to minimize layers
- USER non-root before CMD
- HEALTHCHECK on all services
- COPY --chown=appuser:appuser for file ownership

## Security
- Never run as root
- No secrets in Dockerfile or image layers
- No .env files copied into image
- Scan with docker scout or trivy in CI

## .dockerignore
- Always present: node_modules, .git, *.log, .env*, test files

## Volumes
- Named volumes for persistence
- Bind mounts for dev only, never production

## Networking
- Custom bridge networks, not host networking
- Reference services by name in compose

## Logging
- Always stdout/stderr — never log to files inside container

## Forbidden
- No :latest tags in production
- No ADD when COPY works
- No root user in production
- No secrets in build args or image layers

© PatrickJS · CC0-1.0 · PatrickJS/awesome-cursorrules

Похожие правила IDE

Все правила IDE по теме «DevOps и инфраструктура» →
terraform официальный github Набор инструкций для GitHub Copilot, который задаёт стандарты написания манифестов **/*.tf. Он следит за безопасностью секретов, структурой модулей и форматированием кода. ★ 40 451звёзд репо terraform-sap-btp официальный github Правило задаёт рекомендации для Terraform-кода в SAP BTP: от структуры модулей до управления состоянием. Пригодится при создании и проверке инфраструктурных конфигураций. ★ 40 451звёзд репо terraform-azure официальный github Правило задаёт Copilot стиль и ограничения при работе с Terraform на Azure: структура файлов, модули AVM, запрет на секреты в состоянии. ★ 40 451звёзд репо shell официальный github Правило, которое заставляет GitHub Copilot писать чистые и безопасные shell-скрипты. Применяется к файлам *.sh автоматически. ★ 40 451звёзд репо powershell официальный github Правило для GitHub Copilot, которое заставляет его писать идиоматичные скрипты PowerShell по гайдлайнам Microsoft. Пригодится, если в проекте есть .ps1 и .psm1. ★ 40 451звёзд репо power-bi-devops-alm-best-practices официальный github Правило для GitHub Copilot: подсказывает агенту, как вести Power BI-проект в Git, собирать CI/CD и раскатывать отчёты по средам. ★ 40 451звёзд репо

Из того же набора140

embedded-stm32-hal Правило для Cursor, которое задаёт агенту рамки при работе с прошивками на C и C++: STM32 HAL, прерывания, DMA, экономия памяти. ★ 41 024звёзд репо elixir-phoenix-docker-setup-cursorrules-prompt-fil Настраивает Cursor под стек Elixir, Phoenix и Docker. Задаёт роль senior-инженера, генерацию коммитов по Conventional Commits и краткие ответы по префиксу «VV». ★ 41 024звёзд репо elixir-engineer-guidelines-cursorrules-prompt-file Правило задаёт Cursor контекст опытного Elixir-инженера и формат сообщений об изменениях. Пригодится для проектов на Phoenix и связанном стеке. ★ 41 024звёзд репо dragonruby-best-practices-cursorrules-prompt-file Правило для Cursor, которое задаёт стиль кода на Ruby в DragonRuby Game Toolkit: имена, структура файлов, обработка ошибок. ★ 41 024звёзд репо deno-integration-techniques-cursorrules-prompt-fil Правило задаёт Cursor контекст для автоматизационных скриптов и рабочих процессов Deno-проектов. Пригодится для репозиториев пакетов @findhow. ★ 41 024звёзд репо database Правило для Cursor с набором практик по Prisma и Supabase: схемы, миграции, запросы, RLS-политики. Подключается к файлам базы по маске. ★ 41 024звёзд репо cypress-integration-testing-cursorrules-prompt-file Настраивает Cursor на создание интеграционных тестов в Cypress. Фокусирует модель на проверке связок UI и API через cy.intercept и селекторы data-testid. ★ 41 024звёзд репо cypress-e2e-testing-cursorrules-prompt-file Правило помогает агенту создавать Cypress E2E-тесты для критических пользовательских сценариев. Оно учитывает TypeScript и требует устойчивых селекторов. ★ 41 024звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой