Installation du moteur Docker
Sur les distributions basées sur RHEL/CentOS, l'installation s'effectue via le gestionnaire de paquets yum :
yum install -y docker-io
Vérification de la version installée
Pour s'assurer que le client et le serveur Docker sont opérationnels, utilisez la commande suivante :
docker version
Le système affichera les détails concernant l'API, la version du moteur et l'architecture (ex: linux/amd64).
Gestion du service Docker
Pour démarrer le démon Docker et configurer son lancement automatique au démarrage du système sur CentOS 7+ :
# Démarrage immédiat
systemctl start docker.service
# Activation au démarrage
systemctl enable docker.service
Résolution d'un problème de démarrage lié à SELinux
Il arrive que Docker échoue à démarrer en raison de conflits avec SELinux. Une solution consiste à désactiver explicitement SELinux dans les options de configuration de Docker.
Éditez le fichier /etc/sysconfig/docker :
vi /etc/sysconfig/docker
Modifiez la ligne OPTIONS pour inclure le paramètre suivant :
OPTIONS='--selinux-enabled=false --log-driver=journald --signature-verification=false'
Configuration d'un miroir de registre
Pour accélérer le téléchargement des images, vous pouvez configurer un miroir (Registry Mirror). Bien que cela puisse être fait via le fichier d'unité systemd, la méthode recommandée conisste à modifier le fichier de service ou le fichier daemon.json.
Exemple de modification manuelle de l'exécutable Docker :
# Modifier la ligne ExecStart dans le fichier de configuration du service
ExecStart=/usr/bin/docker-current daemon --registry-mirror=https://votre-miroir-perso.mirror.aliyuncs.com
# Recharger les configurations et redémarrer
systemctl daemon-reload
systemctl restart docker.service
Gestion des images Docker
Récupérer une image légère (comme BusyBox) depuis le Docker Hub :
docker pull busybox
Lister les images présentes localement :
docker images
Cycle de vie des conteneurs
Pour instancier et lancer un conteneur à partir d'une image :
docker run -d -it --name mon-instance-test busybox
-d: Exécution en arrière-plan (detach).-it: Mode interactif avec allocation d'un pseudo-TTY.--name: Attribution d'un nom personnalisé pour faciliter la gestion.
Vérifier l'état des conteneurs actifs :
docker ps
Accéder au shell d'un contaneur en cours d'exécution :
docker exec -it mon-instance-test /bin/sh
Arrêter et redémarrer un conteneur :
# Arrêt
docker stop mon-instance-test
# Redémarrage
docker restart mon-instance-test
Pour visualiser tous les conteneurs, y compris ceux qui sont arrêtés :
docker ps -a
Suppression et Nettoyage
Avant de pouvoir relancer un conteneur avec le même nom, l'ancienne instance doit être supprimée :
docker rm -f mon-instance-test
Pour supprimer une image locale :
docker rmi -f busybox
Publication d'images vers un registre distant
Pour sauvegarder votre image sur un registre (comme Aliyun ou Docker Hub), il faut d'abord la taguer correctement :
docker tag busybox registry.cn-hangzhou.aliyuncs.com/mon-espace/busybox-custom:v1.0
Connectez-vous ensuite au registre avant de pousser l'image :
docker login --username=votre_utilisateur registry.cn-hangzhou.aliyuncs.com
docker push registry.cn-hangzhou.aliyuncs.com/mon-espace/busybox-custom:v1.0