Guide Pratique des Commandes Essentielles de Docker

Introduction

Docker est une plateforme de conteneurisation qui permet d'empaqueter une application avec toutes ses dépendences dans un conteneur isolé et léger. Ce conteneur peut être exécuté de manière cohérente sur n'importe quel environnement résolvant ainsi les problèmes de compatibilité entre les systèmes de développement et de production.

Configuration Initiale

Installation via un Script Automatisé

Pour installer Docker sur un système Linux, vous pouvez utiliser le script officiel. Téléchargez-le d'abord, puis exécutez-le avec les privilèges nécessaires :

curl -fsSL https://get.docker.com -o setup_docker.sh
chmod +x setup_docker.sh
sudo ./setup_docker.sh

Configuration pour Ubuntu

Sur Ubuntu, une installation manuelle peut être réalisée en ajoutant le dépôt officiel de Docker. Suivez les étapes de documentation spécifique à votre version d'Ubuntu pour garantir une installation réussie.

Commandes Fondamentales

Gestion du Service Docker

Pour contrôler le daemon Docker, utilisez les commandes systemctl :

# Démarrer le service
sudo systemctl start docker
# Arrêter le service
sudo systemctl stop docker
# Activer au démarrage
sudo systemctl enable docker
# Redémarrer le service
sudo systemctl restart docker

Configuration des Miroirs d'Images

Pour accélérer le téléchargement des images, configurez un miroir dans le fichier daemon.json :

sudo tee /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["https://mirror.example.com"]
}
EOF
sudo systemctl restart docker

Commandes pour les Images

Lister et Rechercher des Images

# Afficher les images locales
docker image ls
# Rechercher une image sur Docker Hub
docker search httpd
# Télécharger une image spécifique
docker pull httpd:2.4-alpine

Construire des Images

# Construire une image à partir d'un Dockerfile
docker build -t mon-app:v1.2 -f Dockerfile.dev .
# Construire sans cache
docker build --no-cache -t mon-app:latest .

Gérer les Images

# Supprimer une image
docker image rm httpd:2.4
# Nettoyer les images inutilisées
docker image prune -a

Sauvegarder et Charger des Images

# Sauvegarder une image en fichier tar
docker save -o sauvegarde.tar mon-app:v1.2
# Charger une image depuis un fichier tar
docker load -i sauvegarde.tar

Commandes pour les Conteneurs

Créer et Exécuter des Conteneurs

# Lancer un conteneur en mode interactif
docker run -it --name mon-conteneur alpine sh
# Lancer un conteneur en arrière-plan avec port mappé
docker run -d -p 8080:80 --name web-server httpd
# Lancer avec un volume monté
docker run -v /chemin/hote:/chemin/conteneur --name data-app nginx

Gérer le Cycle de Vie des Conteneurs

# Démarrer un conteneur arrêté
docker start mon-conteneur
# Arrêter un conteneur
docker stop mon-conteneur
# Supprimer un conteneur
docker container rm mon-conteneur

Interagir avec les Conteneurs

# Accéder au shell d'un conteneur en cours d'exécution
docker exec -it mon-conteneur /bin/bash
# Copier des fichiers depuis/vers un conteneur
docker cp mon-conteneur:/chemin/fichier.txt ./local

Surveiller les Conteneurs

# Voir les logs en temps réel
docker logs -f mon-conteneur
# Afficher l'utilisation des ressources
docker stats mon-conteneur

Réseaux Docker

Créer et Gérer des Réseaux

# Créer un réseau personnalisé
docker network create --driver bridge mon-reseau
# Connecter un conteneur à un réseau
docker network connect mon-reseau mon-conteneur
# Déconnecter un conteneur d'un réseau
docker network disconnect mon-reseau mon-conteneur

Lancer des Conteneurs dans un Réseau Spécifique

# Démarrer un conteneur connecté à un réseau
docker run -d --network mon-reseau --name app-backend node:16
# Attribuer une IP statique
docker run -d --network mon-reseau --ip 172.18.0.10 --name app-frontend nginx

Volumes de Données

Créer et Utiliser des Volumes

# Créer un volume nommé
docker volume create donnees-app
# Monter un volume dans un conteneur
docker run -d -v donnees-app:/var/lib/data --name db postgres:13
# Monter un répertoire hôte
docker run -v $(pwd)/config:/etc/app/config:ro --name app-config alpine

Sauvegarder et Restaurer des Volumes

# Sauvegarder le contenu d'un volume
docker run --rm -v donnees-app:/source -v $(pwd):/backup alpine tar cvf /backup/archiv.tar -C /source ./
# Restaurer un volume depuis une sauvegarde
docker run --rm -v donnees-app:/cible -v $(pwd):/backup alpine tar xvf /backup/archiv.tar -C /cible

Étiquettes: Docker Docker Engine Dockerfile Docker Compose Ubuntu

Publié le 29 mai à 15h54