06 oct. 20241 min de lecture
Cheat sheet — Docker (installation & utilisation)
Conteneurisation avec Docker : concepts (image, container, Dockerfile, volume, réseau), installation, commandes de base, volumes et port mapping, Dockerfile, Docker Compose, labs de pentest (DVWA) et bonnes pratiques de sécurité.
intro#docker#conteneurs#devops#lab#cheatsheet
Mis à jour le 21 sept. 2026
Concepts
- Image : template (Ubuntu, Nginx…). Container : instance d’une image.
- Dockerfile : recette de construction. Volume : persistance. Network : communication entre containers.
Installation (Ubuntu/Kali)
sudo apt update && sudo apt install docker.io -y
sudo systemctl enable --now docker
sudo usermod -aG docker $USER # relogin requis
docker --version && docker run hello-world
Sur Windows/Mac : Docker Desktop.
Commandes de base
docker ps [-a] # containers (actifs / tous)
docker run -it ubuntu bash # interactif
docker run -d -p 8080:80 nginx # serveur web détaché → localhost:8080
docker stop <id> ; docker rm <id> # arrêter / supprimer
docker rmi <image> # supprimer une image
docker logs -f <id> # suivre les logs
docker exec -it <id> bash # shell dans un container
docker system prune [-a] # nettoyage
Volumes & réseau
docker run -v $(pwd)/data:/data ubuntu # persistance host ↔ container
docker network create mynet # réseau custom
# -p 8080:80 → port host:container
Dockerfile
FROM ubuntu
RUN apt update && apt install -y python3
CMD ["python3"]
docker build -t myimage . && docker run myimage
Docker Compose (multi-containers)
version: "3"
services:
web:
image: nginx
ports: ["8080:80"]
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: root
docker compose up -d
Labs de pentest
docker run -d -p 8080:80 vulnerables/web-dvwa # DVWA
Sécurité
- À éviter : container en root, ports exposés inutilement, volumes sensibles.
- Bon : utilisateur non-root, capabilities limitées, réseau isolé.
Docker vs VM : plus léger et rapide (kernel partagé) vs OS complet.