Commandes Essentielles pour la Gestion des Conteneurs
La maîtrise de Docker repose sur une série de commandes fondamentales pour orchestrer le cycle de vie des images et des conteneurs.
# Récupérer une image depuis le registre officiel
docker pull debian:latest
# Lister les images disponibles localement
docker images
# Rechercher une image spécifique sur le Docker Hub
docker search nginx
# Supprimer une image par son identifiant
docker rmi -f [IMAGE_ID]
# Lancer un conteneur en mode détaché avec mappage de port
docker run -d --name serveur-web-prod -p 80:80 nginx:stable
# Arrêter ou démarrer un conteneur existant
docker stop [CONTAINER_ID]
docker start [CONTAINER_ID]
# Supprimer un conteneur inactif
docker rm [CONTAINER_ID]
Analyse et Surviellance des Logs
Pour le débogage, l'outil de logs intégré est indispensable pour visualiser les flux de sortie des applications conteneurisées.
# Suivre les logs en temps réel avec horodatage
docker logs -f -t [CONTAINER_NAME]
# Extraire les 50 dernières lignes de logs
docker logs --tail 50 [CONTAINER_ID]
# Filtrer les logs sur une période spécifique
docker logs --since "2023-10-01T10:00:00" --until "2023-10-01T15:00:00" [CONTAINER_ID]
Configuration de l'Environnement LNMP
Lors de la mise en place d'une pile LNMP (Linux, Nginx, MySQL, PHP), la communicatino entre les services est primordiale. Nginx doit pointer vers le moteur de rendu PHP (PHP-FPM).
Pour identifier l'adresse IP interne d'un conteneur PHP afin de configurer le fichier de configuration Nginx :
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' conteneur-php
Dans votre fichier de configuration Nginx (default.conf), ajustez la directive fastcgi_pass :
location ~ \.php$ {
root /var/www/html;
fastcgi_pass 172.17.0.3:9000; # Remplacez par l'IP réelle ou le nom du lien
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Interactions Directes et Maintenance
Pour effectuer des opérations de maintenance à l'intérieur d'un conteneur en cours d'exécution, utilisez la commande exec :
# Accéder au terminal interactif du conteneur
docker exec -it [CONTAINER_ID] /bin/bash
Si vous devez installer des outils comme l'éditeur Vim dans un conteneur basé sur Debian/Ubuntu :
apt update && apt install -y vim
Persistance et Réseaux
Le déploiement d'un service PHP lié à MySQL nécessite souvent le montage de volumes pour la persistance des données et la synchronisation du code source.
docker run -d \
--name app-php \
-v /chemin/local/www:/var/www/html \
-v /chemin/local/config/php.ini:/usr/local/etc/php/php.ini \
php:fpm-alpine
Pour recharger la configuration de Nginx sans interrompre le service :
docker exec serveur-nginx nginx -s reload