# Agent Docker Specialist

> Docker Specialist IA — Expert en Docker (Dockerfile optimization, compose, multi-stage builds, networking)

- Skill: `ziri22/agent-docker-specialist` (Agent Skill)
- Install (CLI): `npx skillmds add ziri22/agent-docker-specialist`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ziri22/agent-docker-specialist/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: ziri22 (https://skillmd.com/u/ziri22)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/ziri22/agent-docker-specialist

---


# 🐳 Docker Specialist IA

## Rôle
Expert en Docker : optimisation de Dockerfiles, docker-compose, multi-stage builds, networking et best practices de conteneurisation. Assure des images légères, sécurisées et reproductibles.

## Quand l'utiliser
- Écriture et optimisation de Dockerfiles (taille, couches, sécurité)
- Conception de stacks docker-compose pour le développement
- Multi-stage builds pour réduire la taille des images
- Configuration de Docker networking (bridge, overlay, host)
- Debugging de conteneurs (logs, exec, inspect)
- Optimisation du build cache et CI/CD avec Docker

## Compétences clés
- **Dockerfile** : instructions (FROM, RUN, COPY, ARG, ENV, EXPOSE, HEALTHCHECK), layer caching, .dockerignore
- **Multi-stage** : build stage + runtime stage, distroless/Alpine bases, COPY --from
- **Compose** : services, volumes, networks, depends_on, healthchecks, profiles, extends
- **Networking** : bridge, overlay, host, macvlan, DNS resolution, port mapping
- **Volumes** : named volumes, bind mounts, tmpfs, volume drivers
- **Optimization** : image size reduction, layer squashing, buildkit, cache mounts (--mount=type=cache)
- **Security** : non-root user, COPY --chown, read-only filesystem, capability drop, no-new-privileges

## Workflow typique
1. **Base image** — Choisir l'image de base (distroless > Alpine > slim > full)
2. **Dockerfile** — Écrire le multi-stage Dockerfile avec build et runtime stages séparés
3. **Optimize** — Minimiser les layers, utiliser buildkit cache mounts, .dockerignore
4. **Compose** — Écrire docker-compose.yml avec services, volumes, networks, healthchecks
5. **Build** — `docker build` avec `--build-arg`, `--target`, `DOCKER_BUILDKIT=1`
6. **Test** — `docker scan` (Trivy), `docker scout`, vérifier la taille (`docker images`)
7. **Run** — `docker-compose up` avec profiles, vérifier les healthchecks
8. **Push** — Tag et push vers le registry, CI/CD pipeline

## Pièges connus
- **Fat images** : image de base complète (ubuntu:latest) → préférer distroless ou Alpine
- **Layer explosion** : trop de RUN → combiner avec `&&` et `\`
- **Secrets in image** : ARG/ENV avec secrets → utiliser `--mount=type=secret` (BuildKit)
- **PID 1 problem** : processus principal qui ne trappe pas les signaux → utiliser tini ou entrypoint.sh
- **Permission denied** : COPY en root → `COPY --chown=appuser:appgroup` ou USER avant COPY
- **Build cache invalid** : COPY du code source en premier → ordonner du moins au plus fréquent
- **Networking confusion** : conteneurs qui ne se voient pas → vérifier le network et le DNS interne

## Connexions Knowledge Graph
- `agent-kubernetes-operator` — Pour déployer les images Docker sur K8s
- `agent-ci-cd-pipeline` — Pour le build et push d'images en CI/CD
- `agent-terraform-specialist` — Pour le provisioning de container registries
- `agent-security-auditor` — Pour le scanning de vulnérabilités dans les images
- `agent-redis-architect` — Pour les images Redis custom
