Comment installer Docker sur CentOS : Guide complet étape par étape
Docker a fondamentalement changé la façon dont les développeurs construisent, expédient et exécutent les applications. En empaquetant les logiciels dans des conteneurs légers et portables, Docker élimine le problème classique « ça marche sur ma machine » et simplifie considérablement à la fois les flux de travail de développement et les déploiements en production. Si vous exécutez CentOS et souhaitez exploiter la puissance de la conteneurisation, ce guide complet vous guide à travers chaque étape — d’une mise à jour système fraîche à la configuration avancée.
Que vous déployiez une seule application web ou orchestriez des environnements complexes multi-conteneurs, l’installation correcte de Docker sur CentOS est l’étape critique première.
Prérequis
Avant de commencer, assurez-vous d’avoir :
- Un serveur CentOS 7 ou CentOS 8 (physique ou virtuel)
- Un compte utilisateur avec
sudoprivilèges - Une connexion Internet stable
- Une familiarité de base avec la ligne de commande Linux
> Conseil Pro : Pour la meilleure expérience Docker, envisagez de l’exécuter sur un plan VPS Hosting. Un serveur privé virtuel vous donne un accès root complet, des ressources dédiées et la flexibilité d’exécuter des conteneurs sans les restrictions des environnements partagés.
Étape 1 : Mettre à jour le système
Avant d’installer un nouveau logiciel, mettez toujours à jour vos paquets existants pour assurer la compatibilité et la sécurité. Exécutez la commande suivante :
sudo yum update -yCette commande actualise tous les paquets installés vers leurs dernières versions. Cela peut prendre quelques minutes selon le nombre de mises à jour en attente. Un système complètement à jour réduit le risque de conflits de dépendances lors de l’installation de Docker.
Étape 2 : Installer les dépendances requises
Docker dépend de plusieurs paquets au niveau du système pour fonctionner correctement. Installez-les avec une seule commande :
sudo yum install -y yum-utils device-mapper-persistent-data lvm2Voici ce que fait chaque paquet :
| Paquet | Objectif |
|---|---|
yum-utils | Fournit l’utilitaire yum-config-manager pour gérer les dépôts |
device-mapper-persistent-data | Requis pour le pilote de stockage device mapper de Docker |
lvm2 | Support du Logical Volume Manager pour le backend de stockage de Docker |
Ces dépendances garantissent que Docker peut gérer efficacement et de manière fiable le stockage des conteneurs sur votre système CentOS.
Étape 3 : Ajouter le dépôt Docker officiel
Les dépôts de paquets par défaut de CentOS n’incluent pas les derniers paquets Docker. Vous devez ajouter le dépôt officiel de Docker pour obtenir la version stable la plus actuelle :
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoCette commande ajoute le dépôt CentOS officiel de Docker à la liste des dépôts de votre système. L’utilisation de la source officielle garantit que vous recevez des paquets Docker authentiques et à jour directement de Docker Inc., plutôt que des versions potentiellement obsolètes provenant de miroirs tiers.
Vous pouvez vérifier que le dépôt a été ajouté avec succès en listant vos dépôts configurés :
sudo yum repolistÉtape 4 : Installer Docker Engine
Avec le dépôt en place, l’installation de Docker est simple :
sudo yum install -y docker-ce docker-ce-cli containerd.io> Remarque : Il est recommandé d’installer également docker-ce-cli (l’interface de ligne de commande Docker) et containerd.io (le runtime du conteneur) aux côtés du moteur principal pour une configuration complète et prête pour la production.
Cela installe la Docker Community Edition (CE) — la version gratuite et open-source de Docker qui convient parfaitement aux charges de travail de développement et de production.
Étape 5 : Démarrer et activer le service Docker
L’installation de Docker ne le démarre pas automatiquement. Vous devez démarrer le démon Docker et le configurer pour qu’il se lance automatiquement au démarrage du système :
sudo systemctl start docker
sudo systemctl enable dockersystemctl start docker — Démarre le service Docker immédiatement
systemctl enable docker — Configure Docker pour démarrer automatiquement à chaque redémarrage du serveur
Vérifier l’état du service
Confirmez que Docker fonctionne correctement :
sudo systemctl status docker
Vous devriez voir une sortie indiquant que le service est actif (en cours d’exécution). Si l’état affiche des erreurs, consultez les journaux système avec journalctl -u docker pour les détails de dépannage.
Étape 6 : Vérifier l’installation de Docker
Exécutez le test intégré de Docker pour confirmer que tout fonctionne comme prévu :
sudo docker run hello-world
Cette commande effectue les opérations suivantes :
Contacte le registre Docker Hub
Télécharge l’image de test léger hello-worldSi votre installation est réussie, vous verrez une sortie qui commence par :
Hello from Docker!
This message shows that your installation appears to be working correctly.Félicitations — Docker est maintenant complètement installé et opérationnel sur votre serveur CentOS.
Étape 7 : Configurer Docker pour les utilisateurs non-root (Optionnel mais recommandé)
Par défaut, les commandes Docker nécessitent sudo (privilèges root). Pour la sécurité et la commodité dans les environnements de développement, vous pouvez permettre à des utilisateurs non-root spécifiques d’exécuter des commandes Docker en les ajoutant au groupe docker.
Créer le groupe Docker
Dans la plupart des cas, ce groupe est créé automatiquement lors de l’installation. Si ce n’est pas le cas, créez-le manuellement :
sudo groupadd dockerAjouter votre utilisateur au groupe Docker
Remplacez your_username par le nom d’utilisateur Linux réel :
sudo usermod -aG docker your_usernameAppliquer les modifications
Déconnectez-vous et reconnectez-vous pour actualiser votre appartenance au groupe. Alternativement, activez la modification dans la session actuelle :
newgrp dockerTester sans Sudo
docker run hello-worldSi cela s’exécute sans sudo et sans erreur de permission, la configuration fonctionne correctement.
> Avertissement de sécurité : Le groupe docker accorde des privilèges équivalents à l’utilisateur root. N’ajoutez que des utilisateurs de confiance à ce groupe dans les environnements de production.
Étape 8 : Référence des commandes Docker essentielles
Une fois Docker en cours d’exécution, voici les commandes les plus importantes que vous utiliserez au quotidien :
Gestion des conteneurs
# List all running containers
docker ps
# List all containers (including stopped ones)
docker ps -a
# Start a stopped container
docker start container_id
# Stop a running container
docker stop container_id
# Remove a container
docker rm container_id
# Remove all stopped containers at once
docker container pruneGestion des images
# List all locally stored images
docker images
# Pull an image from Docker Hub
docker pull image_name
# Pull a specific version/tag
docker pull image_name:tag
# Remove a local image
docker rmi image_name
# Remove all unused images
docker image prune -aExécution de conteneurs
# Run a container interactively
docker run -it image_name /bin/bash
# Run a container in detached (background) mode
docker run -d image_name
# Run a container with port mapping
docker run -d -p 8080:80 image_name
# Run a container with a custom name
docker run -d --name my_container image_nameAffichage des journaux et des statistiques
# View container logs
docker logs container_id
# Follow live log output
docker logs -f container_id
# View real-time resource usage
docker statsÉtape 9 : Confirmer que Docker démarre au démarrage
Docker devrait déjà être configuré pour démarrer au démarrage après l’exécution de systemctl enable docker. Pour vérifier ou réactiver ce comportement :
sudo systemctl enable dockerPour désactiver le démarrage automatique (par exemple, sur une machine de développement où vous n’avez pas toujours besoin que Docker s’exécute) :
sudo systemctl disable dockerÉtape 10 : Configuration avancée (Optionnel)
Installer Docker Compose
Docker Compose est un outil essentiel pour définir et gérer les applications multi-conteneurs à l’aide d’un simple fichier de configuration YAML. Installez la dernière version stable :
sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-composeVérifiez l’installation :
docker-compose --versionAvec Docker Compose, vous pouvez définir des piles d’applications entières — serveurs web, bases de données, caches — dans un seul fichier docker-compose.yml et les démarrer tous avec une seule commande : docker-compose up -d.
Configurer le démon Docker
Vous pouvez personnaliser le comportement de Docker en modifiant (ou en créant) le fichier de configuration du démon :
sudo nano /etc/docker/daemon.jsonUn exemple de configuration courant :
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"storage-driver": "overlay2",
"default-address-pools": [
{"base": "172.17.0.0/16", "size": 24}
]
}Après avoir modifié la configuration du démon, redémarrez Docker pour appliquer les modifications :
sudo systemctl restart dockerLes paramètres courants du démon que vous pouvez configurer incluent :
- Pilote de journalisation et rotation — Empêcher les journaux des conteneurs de consommer tout l’espace disque
- Pilote de stockage —
overlay2est le pilote recommandé pour CentOS - Paramètres DNS — Définir des serveurs DNS personnalisés pour les conteneurs
- Miroirs de registre — Accélérer les extractions d’images avec des miroirs locaux
Configurer les règles du pare-feu (CentOS 7)
Si vous exécutez firewalld, vous devrez peut-être autoriser le trafic réseau de Docker :
sudo firewall-cmd --zone=public --add-masquerade --permanent
sudo firewall-cmd --reloadChoisir le bon environnement d’hébergement pour Docker
L’exécution de Docker en production nécessite un environnement serveur fiable et haute performance. Voici les meilleures options selon votre cas d’usage :
- VPS Hosting — Idéal pour la plupart des déploiements Docker. L’accès root complet, les ressources évolutives et les tarifs rentables font du VPS le choix incontournable pour les applications conteneurisées.
- Dedicated Servers — Meilleur pour les environnements de production à fort trafic ou lorsque vous avez besoin d’une performance maximale du CPU, de la RAM et du stockage pour exécuter des dizaines de conteneurs simultanément.
- GPU Hosting — Parfait pour les charges de travail AI/ML s’exécutant dans des conteneurs Docker qui nécessitent une accélération GPU pour l’entraînement ou l’inférence de modèles.
- VPS with cPanel — Si vous avez besoin de Docker aux côtés d’un panneau de contrôle convivial pour gérer les sites web et les e-mails, cette combinaison offre le meilleur des deux mondes.
Dépannage des problèmes Docker courants sur CentOS
Le démon Docker ne démarre pas
Consultez les journaux système pour les détails des erreurs :
journalctl -u docker --no-pager | tail -50Erreurs de permission refusée
Si vous voyez Got permission denied while trying to connect to the Docker daemon socket, assurez-vous que votre utilisateur est dans le groupe docker et que vous vous êtes déconnecté et reconnecté
