
specsfy-specialist-docker
Criar, revisar e depurar imagens Docker e ambientes Compose com builds reproduzíveis, segurança, saúde, configuração e eficiência. Use para Dockerfile, BuildKit, Compose, registries, containers ou imagens de uma aplicação; use specsfy-specialist-docker-swarm para orquestração multi-nó, deploy declarativo e rollout de serviços em produção.
- Installs
- 273
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/promovaweb/specsfy --skill specsfy-specialist-docker- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads specsfy-specialist-docker automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Docker
Quando usar
- Acionar para escrever ou revisar
Dockerfile,docker-compose.yml,.dockerignore, política de tag/registry ou depurar um container que não builda, não sobe ou não responde a healthcheck. - Acionar também para reduzir tamanho de imagem, eliminar segredo vazado em
camada ou corrigir processo que não recebe
SIGTERMcorretamente. - Não acionar para orquestração de múltiplos nós, rollout com réplicas,
secrets de cluster ou rede overlay — usar
$specsfy-specialist-docker-swarmpara isso; Docker Compose aqui é ambiente local/CI, não topologia de produção multi-host. - Combinar com
$specsfy-specialist-application-securitypara revisão de supply chain (SBOM, proveniência, dependências vulneráveis) e com a skill de linguagem/framework do projeto para o conteúdo do build em si.
Fluxo
- Descobrir arquitetura alvo (amd64/arm64), runtime base (linguagem, versão), build context real e o contrato de execução esperado (variáveis, portas, volumes) antes de propor mudança.
- Inspecionar
Dockerfile,.dockerignore,docker-compose.ymle a política de imagem/tag já em uso pelo projeto. - Quando a imagem fizer parte de uma release ou deploy, executar esta etapa
sob
$specsfy-specialist-deploy. Usar a versão entregue por$specsfy-specialist-versioning, gerar a referência comdocker-tage recusá-la quandoverify-docker-tagapontar diferença. - Separar dependências de build e runtime com estágios (
multi-stage build) claros — a imagem final não deve conter compilador, cache de pacote ou fonte que não roda em produção. - Fixar artefatos de forma reproduzível (lockfile, versão de base image pinada ou por digest) e reduzir contexto de build e camadas mutáveis.
- Executar o processo como usuário não root, limitar privilégios
(
cap_drop, sem--privileged) e nunca embutir segredo na imagem. - Definir healthcheck, tratamento de sinal (
SIGTERM,SIGINT), volumes, redes e configuração externa (env, arquivo montado) explicitamente. - Construir a imagem, escanear vulnerabilidades e testá-la exatamente como será executada em produção (mesmo usuário, mesmas variáveis).
Padrões
- Em aplicações com extensões nativas, dividir compilação em estágios independentes por família. Uma alteração em Redis, mídia ou servidor de aplicação não precisa invalidar toda a toolchain.
- Quando vários serviços usam o mesmo código, produzir uma imagem única e selecionar modos de processo no entrypoint, como HTTP, scheduler, filas e WebSocket. Cada modo recebe healthcheck, sinal e escrita compatíveis com sua função.
- Publicar referências imutáveis para SemVer e commit, conferir se ambas ainda não existem e registrar o digest usado pelo deploy. A tag Git só deve ser publicada depois que a imagem estiver disponível no registry.
- Gerar caches de framework no entrypoint quando eles dependem de configuração fornecida no runtime. Não transportar cache de configuração criado durante o build para ambientes com valores diferentes.
- Preferir base mínima compatível (slim/alpine quando a stack suporta) e
fixar por digest (
@sha256:...) quando reprodutibilidade byte-a-byte importar mais que atualização automática de patch. - Ordenar instruções para maximizar cache (dependências antes do código
fonte) sem esconder atualização de dependência — um
COPY package*.jsonseguido deRUN installantes doCOPY . .cacheia a instalação enquanto o código muda, sem congelar a versão instalada. - Usar mounts de secret e cache do BuildKit (
RUN --mount=type=secret,--mount=type=cache) para credenciais de build e cache de package manager — nuncaARG/ENVpara segredo, pois ambos persistem no histórico de camadas da imagem final. - Nunca copiar o repositório inteiro sem
.dockerignore—.git,node_modules, artefatos de build local e.envvazam para o contexto e infla o tamanho/tempo de build. - Tratar o processo principal como PID 1 conscientemente: usar
ENTRYPOINTem forma exec (["cmd"], nãoCMD cmd argsem shell form) para receber sinais corretamente, ou um init mínimo (--init/tini) quando o processo não reaper zumbis. - Manter dado persistente fora da camada gravável do container (volume nomeado ou bind mount) — dado na camada do container morre com o container.
- Definir limites de recurso e filesystem raiz somente leitura
(
--read-only+ volumes explícitos para o que precisa escrever) quando o workload permitir, reduzindo superfície de ataque em runtime.
Antipadrões
latestcomo única tag em produção — não é reprodutível e não permite saber qual código está rodando sem inspecionar o container.ADDpara copiar arquivo local (em vez deCOPY) —ADDtambém descompacta e busca URL, comportamento implícito que surpreende quem lê o Dockerfile depois.USER rootimplícito (ausência deUSER) em imagem que serve tráfego — processo comprometido dentro do container tem privilégio de root do container, ampliando o impacto de qualquer vulnerabilidade na aplicação.- Instalar dependência de build (compilador, headers) na mesma camada final sem multi-stage — infla a imagem e aumenta a superfície de vulnerabilidade escaneável sem benefício em runtime.
- Healthcheck que só verifica "processo escutando na porta" sem checar dependência crítica (banco, fila) — o orquestrador considera o container saudável mesmo quando ele não consegue de fato servir a requisição.
Validação
- Build limpo sem cache (
--no-cache) e build incremental (com cache) — ambos devem produzir uma imagem funcionalmente equivalente. - Executar a imagem com o usuário, arquitetura e variáveis de ambiente reais do ambiente alvo, não apenas com defaults de desenvolvimento.
- Exercitar healthcheck,
docker stop(shutdown gracioso dentro do prazo configurado), portas publicadas, volumes, resolução DNS interna e o comportamento quando uma dependência declarada está indisponível. - Gerar SBOM/rodar scanner de vulnerabilidade disponível no projeto e inspecionar tamanho e número de camadas da imagem final.
- Não declarar uma imagem "segura" sem o scanner rodado, nem "reproduzível" sem builds repetidos produzindo o mesmo resultado funcional a partir do mesmo commit.
Skills relacionadas
-
$specsfy-specialist-server-reportreúne logs, serviços e uso de disco em relatórios por host, com coleta somente leitura via Ansible. -
$specsfy-specialist-deploycoordena a entrega completa; esta skill cuida somente da imagem e do Compose de desenvolvimento. -
$specsfy-specialist-versioningpreparaSEMVERe confere a identidade da imagem antes da publicação. -
$specsfy-specialist-docker-swarmpara orquestração multi-nó, secrets de cluster, rede overlay e rollout de serviços — este especialista cobre a imagem e o Compose local, não o cluster de produção. -
$specsfy-specialist-application-securitypara supply chain (SBOM, proveniência, CVE de dependência) e hardening além do container. -
$specsfy-specialist-observabilitypara logging, métricas e tracing do processo dentro do container. -
$specsfy-specialist-postgres,$specsfy-specialist-redispara o que roda dentro da imagem/serviço (modelagem de schema, estrutura de dado, persistência) — esta skill cobre o empacotamento (imagem oficial, volume, healthcheck), não a decisão interna do banco/cache. -
$specsfy-specialist-supabasequando o ambiente local do projeto for orquestrado pela CLI do Supabase sobre Docker. -
$specsfy-specialist-laravelpara os contratos de execução da aplicação empacotada (workers de fila, scheduler, variáveis de ambiente esperadas). -
$specsfy-specialist-debian-serverpara kernel, filesystem, systemd, APT e Docker Engine do host que executa a imagem.
Leia references/standards.md para build, Compose, segurança, supply chain e operação.
FAQ
What does the specsfy-specialist-docker skill do?
Criar, revisar e depurar imagens Docker e ambientes Compose com builds reproduzíveis, segurança, saúde, configuração e eficiência. Use para Dockerfile, BuildKit, Compose, registries, containers ou imagens de uma aplicação; use specsfy-specialist-docker-swarm para orquestração multi-nó, deploy declarativo e rollout de serviços em produção.
How do I install specsfy-specialist-docker?
Run npx skills add https://github.com/promovaweb/specsfy --skill specsfy-specialist-docker in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/specsfy-specialist-docker/ (personal) or .claude/skills/specsfy-specialist-docker/ (project).
Which AI agents can use specsfy-specialist-docker?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is specsfy-specialist-docker safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains specsfy-specialist-docker?
It is published by promovaweb in promovaweb/specsfy. It has 273 recorded installs.
More from promovaweb/specsfy
specsfy-aux-stack
promovaweb/specsfy
Monitorar manifests e arquivos estruturais para criar ou atualizar .specsfy/STACK.md de forma aditiva. Use quando o monitor de contexto apontar stack pendente; quando framework, linguagem, runtime, pacote estrutural, ferramenta de teste ou persistência mudar; quando a documentação técnica estiver incompleta; ou após adicionar Laravel, Next.js, Astro ou dependências relevantes. Preserva conteúdo humano existente.
specsfy-specialist-data-modeling
promovaweb/specsfy
Modelar dados, entidades, relações, ciclos de vida, qualidade e contratos persistentes antes de implementar mudanças.
specsfy-specialist-software-architecture
promovaweb/specsfy
Analisar e evoluir arquitetura com boundaries, dependências, atributos de qualidade, integrações, ADRs, migração e trade-offs. Use para modularização, coupling, escalabilidade, resiliência ou decisões difíceis de reverter; não use para renomeação local sem impacto estrutural.
specsfy-specialist-domain-modeling
promovaweb/specsfy
Descobrir e refinar linguagem de domínio, invariantes, eventos, aggregates e boundaries a partir de cenários concretos. Use quando termos, regras ou ownership estiverem ambíguos ou uma decisão de modelo for necessária; não criar documentação paralela à fonte autorizada.
specsfy-specialist-reui
promovaweb/specsfy
Criar interfaces React e Tailwind CSS com os componentes gratuitos do ReUI. Use em projetos com React, Tailwind CSS e shadcn/ui, incluindo Laravel com Inertia; não use itens premium nem introduza ReUI sem confirmar a stack.
specsfy-setup
promovaweb/specsfy
Preparar e monitorar os contextos do projeto, incluindo a constituição e as specs preservadas de projetos com GitHub Spec Kit.
Popular devops & cloud skills
microsoft-foundry
microsoft/azure-skills
Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end. USE FOR: foundry, azd ai agent, azd provision/deploy, hosted agent scaffold/develop/run/deploy/troubleshoot, prompt agent create, managed harness agent create, GitHub Copilot harness agent, create agent, update agent, add tool to agent, invoke agent, agent insights, evaluate agent, batch eval, continuous eval, continuous monitoring, agent CI/CD, optimize prompt, improve prompt, optimize agent instructions, Agent Optimizer scaffold, dataset curation from traces, deploy model, model fine-tuning (SFT/DPO/RFT), Foundry project, RBAC, role assignment, permissions, quota, capacity, region, deployment failure, AI Services, create Foundry resource, knowledge index, customize deployment, onboard, availability, training-data, grader, distillation, large file upload. DO NOT USE FOR: Azure Functions, App Service, general Azure deploy (use azure-deploy), general Azure prep (use azure
azure-diagnostics
microsoft/azure-skills
Debug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage. WHEN: debug production issues, troubleshoot app service, app service high CPU, app service deployment failure, troubleshoot container apps, container app 503 or target port mismatch, troubleshoot functions, function telemetry missing or stopped after a config/connection-string change, troubleshoot AKS, VM RDP, Linux SSH, VM black screen, can't connect to VM, reset VM password, NSG or firewall blocking, kubectl cannot connect, kube-system/CoreDNS failures, pod pending, crashloop, node not ready, upgrade failures, analyze logs, KQL, insights, image pull failures, cold start issues, health probe failures, resource health, root cause of errors, troubleshoot event hubs, troubleshoot service bus, messaging SDK error, AMQP connection failure, message lock lost, lock renewal during long-running processing, service bus dead letter.
azure-prepare
microsoft/azure-skills
Prepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles for the Azure Developer CLI (azd) workflow. USE ONLY when the user explicitly wants to use azd as the deployment tool, or the project already has an azure.yaml file. DO NOT USE FOR: non-azd deployments, Python App Service code-only deploys (use python-appservice-deploy), or cross-cloud migration (use azure-cloud-migrate). WHEN: prepare app for azd, create azure.yaml, set up azd infrastructure, modernize app for Azure with azd, deploy with azd, function app, timer trigger, service bus trigger, event-driven function, managed identity, generate Bicep, generate Terraform, create and deploy to Azure.
azure-ai
microsoft/azure-skills
Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe, OCR, convert text to speech.
azure-deploy
microsoft/azure-skills
Execute Azure deployments for ALREADY-PREPARED applications that have existing .azure/deployment-plan.md and infrastructure files. DO NOT use this skill when the user asks to CREATE a new application — use azure-prepare instead. This skill runs azd up, azd deploy, terraform apply, and az deployment commands with built-in error recovery. Requires .azure/deployment-plan.md from azure-prepare and validated status from azure-validate. WHEN: "run azd up", "run azd deploy", "execute deployment", "push to production", "push to cloud", "go live", "ship it", "bicep deploy", "terraform apply", "publish to Azure", "launch on Azure". DO NOT USE WHEN: "create and deploy", "build and deploy", "create a new app", "set up infrastructure", "create and deploy to Azure using Terraform" — use azure-prepare for these.
azure-validate
microsoft/azure-skills
Pre-deployment validation for Azure readiness. Run deep checks on configuration, infrastructure (Bicep or Terraform), RBAC role assignments, managed identity permissions, and prerequisites before deploying. WHEN: validate my app, check deployment readiness, run preflight checks, verify configuration, check if ready to deploy, validate azure.yaml, validate Bicep, test before deploying, troubleshoot deployment errors, validate Azure Functions, validate function app, validate serverless deployment, verify RBAC roles, check role assignments, review managed identity permissions, what-if analysis, validate Container Apps deployment.