Guide Fondamental sur Docker : Installation et Manipulation d'Images

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

Étiquettes: Docker containerization devops CentOS Linux

Publié le 16 juin à 02h01