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
  • 1 view
  • 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…