15%

Économisez 15% sur tous les services d'hébergement

Testez vos compétences et obtenez Réduction sur tout plan d'hébergement

Utilisez le code :

Skills
Commencer
31.10.2024
1 +1

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 sudo privilè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 -y

Cette 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 lvm2

Voici ce que fait chaque paquet :

PaquetObjectif
yum-utilsFournit l’utilitaire yum-config-manager pour gérer les dépôts
device-mapper-persistent-dataRequis pour le pilote de stockage device mapper de Docker
lvm2Support 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.repo

Cette 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 docker
    systemctl 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-world
  • Crée un nouveau conteneur à partir de cette image
  • Exécute le conteneur, qui imprime un message de confirmation
  • Si 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 docker

    Ajouter votre utilisateur au groupe Docker

    Remplacez your_username par le nom d’utilisateur Linux réel :

    sudo usermod -aG docker your_username

    Appliquer les modifications

    Déconnectez-vous et reconnectez-vous pour actualiser votre appartenance au groupe. Alternativement, activez la modification dans la session actuelle :

    newgrp docker

    Tester sans Sudo

    docker run hello-world

    Si 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 prune

    Gestion 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 -a

    Exé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_name

    Affichage 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 docker

    Pour 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-compose

    Vérifiez l’installation :

    docker-compose --version

    Avec 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.json

    Un 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 docker

    Les 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 stockageoverlay2 est 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 --reload

    Choisir 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 -50

    Erreurs 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é

    15%

    Économisez 15% sur tous les services d'hébergement

    Testez vos compétences et obtenez Réduction sur tout plan d'hébergement

    Utilisez le code :

    Skills
    Commencer