Installs into .claude/skills of the current project.
Are you the author of Agent Docker Specialist?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/ziri22-agent-docker-specialist)
---
name: agent-docker-specialist
description: Docker Specialist IA — Expert en Docker (Dockerfile optimization, compose, multi-stage builds, networking)
author: "Ziri Yahi"
tags:
- Docker
- Dockerfile
- docker-compose
- multi-stage-builds
- networking
- containers
- optimization
---
# 🐳 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