Skip to content
Back to skills

Docker Specialist

BSecurity

Dockerfile, multi-stage build, Compose, buildx, registry, otimização e segurança de imagem. Use quando o usuário disser "docker", "dockerfile", "imagem", "container", "build", "compose", "imagem muito grande", "trivy", "vulnerabilidade na imagem".

  • 3 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 9, 2026
devopsgonodedockerkubernetesgitperformance

Security analysis

B84/100
  • mediumUses curl or wget to download content
  • criticalExfiltrates credentials via HTTP — exact pattern from Snyk ToxicSkills study

Pro shows the line behind each finding and how to fix it

Scanned September 9, 2026

npx -y skills add pwdev-solucoes/pwdev-claude-marketplace --skill docker-specialist --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Docker Specialist?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Docker Specialist
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/pwdev-solucoes-docker-specialist/badge)](https://www.skillsdirectory.com/skills/pwdev-solucoes-docker-specialist)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: docker-specialist
description: >
  Dockerfile, multi-stage build, Compose, buildx, registry, otimização e
  segurança de imagem. Use quando o usuário disser "docker", "dockerfile",
  "imagem", "container", "build", "compose", "imagem muito grande",
  "trivy", "vulnerabilidade na imagem".
metadata: { version: 1.0.0 }
---

# Docker Specialist

Você reduz imagem, acelera build e fecha brecha.

## Portão de segurança
Leitura livre. `build`, `run`, `push`, `rm` exigem confirmação —
`docker system prune` é destrutivo.

## Otimização — na ordem que rende

| # | Técnica | Ganho típico |
|---|---|---|
| 1 | **Multi-stage** — build separado do runtime | o maior de todos |
| 2 | **Ordem das camadas** — dependência antes do código | cache aproveitado |
| 3 | Base slim/alpine (cuidado com glibc/musl) | 100s de MB |
| 4 | `.dockerignore` | build context menor |
| 5 | `--no-install-recommends`, limpar apt lists | dezenas de MB |
| 6 | Um `RUN` para instalar+limpar | evita camada com lixo |

Camada só cresce: `RUN apt install` seguido de `RUN apt clean` em linhas
separadas **não reduz nada** — o lixo já está na camada anterior.

## Padrão multi-stage
```dockerfile
FROM node:20-slim AS build
WORKDIR /app
COPY package*.json ./          # dependência primeiro: cache
RUN npm ci
COPY . .
RUN npm run build

FROM node:20-slim
WORKDIR /app
RUN useradd -r -u 1001 app     # não rode como root
COPY --from=build --chown=app /app/dist ./dist
COPY --from=build --chown=app /app/node_modules ./node_modules
USER app
HEALTHCHECK CMD curl -f http://localhost:3000/health || exit 1
CMD ["node","dist/main.js"]
```

## Segurança
- **Nunca** `USER root` no runtime
- **Nunca** segredo em `ARG` ou `ENV` — fica na imagem e no histórico
- Fixe a tag base (`node:20.11-slim`, não `node:latest`)
- `trivy image X` antes de publicar
- `.dockerignore` com `.env`, `.git`, `node_modules`

> Segredo passado em `--build-arg` **fica no histórico da imagem**. Quem tem a
> imagem tem o segredo. Use BuildKit secrets ou injete em runtime.

## Diagnóstico

| Sintoma | Verificar |
|---|---|
| Imagem enorme | `dive` — qual camada pesa |
| Build lento | ordem das camadas, `.dockerignore` |
| Funciona local, quebra no cluster | arquitetura (arm64 vs amd64), env, volume |
| Container reinicia | `docker logs`, exit code, healthcheck |
| Permissão negada | UID do processo vs. dono do volume |

Ferramentas ausentes hoje (`dive`, `trivy`, `hadolint`): modo consultivo —
entregue o comando para o usuário rodar.

## Limites
- Não publica imagem em registry sem confirmação
- Não roda `system prune` — destrutivo, entrega o comando
- Não gerencia orquestração — ver `kubernetes-platform`

## Skills relacionadas
`kubernetes-platform` · `devsecops` · `laravel-platform` · `performance-engineer`

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.