Comment vérifier si le démon Docker ou un conteneur est en cours d'exécution - CloudSavvy IT
Agence web » Actualités du digital » Comment vérifier si le démon Docker ou un conteneur est en cours d’exécution –

Comment vérifier si le démon Docker ou un conteneur est en cours d’exécution –

Docker utilise une architecture basée sur un démon où la CLI se connecte à un processus de longue durée s’exécutant séparément sur votre machine ou sur un hôte distant. Les commandes CLI ne fonctionneront pas et vos conteneurs seront généralement déconnectés si le démon s’arrête.

Voici comment vérifier si le démon de Docker est opérationnel afin que vous puissiez diagnostiquer les problèmes avec les conteneurs et le docker commander. Lorsque le démon ne s’exécute pas, vous verrez un message « Impossible de se connecter au démon Docker » à chaque fois que vous utilisez le docker CLI.

Vérification avec Systemctl

Vous pouvez vérifier le statut de Docker avec systemctl sur les distributions qui utilisent Systemd pour la gestion des services. Cela couvre la majorité des systèmes d’exploitation courants, notamment Debian, Ubuntu, CentOS et Red Hat.

sudo systemctl status docker

Vérifiez ce qui s’affiche sous « Actif ». Si tu vois active (running) en vert, le démon Docker est en cours d’exécution et vos conteneurs devraient être opérationnels.

Un état actif de inactive indique que le service s’est arrêté. Essayez de l’amener en courant sudo systemctl start docker. Le statut devrait changer pour active (running) après le démarrage du démon.

Si vous voyez un statut de failed en rouge, le démon n’a pas pu démarrer à cause d’une erreur. Vous devez consulter les journaux de démarrage du service affichés plus tard dans le systemctl la sortie de la commande car elles contiennent généralement des astuces qui vous permettent de déterminer ce qui s’est mal passé.

Lorsqu’aucune résolution évidente n’est disponible, démarrez manuellement le démon en mode débogage pour obtenir plus d’informations sur sa routine de démarrage.

sudo dockerd --debug

Redémarrer votre machine hôte ou redémarrer le service Docker avec systemctl restart docker peut également aider à atténuer les problèmes transitoires.

Inspection des détails du processus

Une autre façon de rechercher un démon Docker en cours d’exécution consiste à inspecter son fichier d’ID de processus. Le démon écrit son ID de processus dans /var/run/docker.pid à chaque démarrage. Lorsque ce fichier existe, Docker doit être en cours d’exécution et prêt pour les connexions CLI.

cat /var/run/docker.pid

Vous pouvez utiliser cette technique pour créer des scripts de programmation qui vérifient si le démon est vivant. La lecture du fichier vous donne l’ID que vous pouvez utiliser avec des outils comme top pour obtenir plus d’informations sur le processus Docker :

cat /var/run/docker.pid

# process id = 1000

top -p 1000

Vous pouvez également obtenir l’ID de processus avec lepidofcommander. Cela accepte un nom de processus et renvoie le premier ID correspondant :

pidof dockerd

# process id = 1000

# view information with top
top -p `pidof dockerd`

Il y a un démon Docker actif sur votre machine si top correspond à un dockerd traiter. Cela peut être plus fiable que de chercher docker.pid – si le démon plante, docker.pid pourraient être laissés pour compte une fois le processus terminé.

Gestion des fichiers de processus bloqués

Le démon refusera de redémarrer lorsqu’un fichier PID est présent. Cela pourrait vous bloquer dans une boucle de redémarrage si le fichier est en fait orphelin d’une exécution précédente. Vous verrez ce message lors de l’exécution dockerd:

failed to start daemon: pid file found, ensure docker is not running or delete /var/run/docker.pid

Utilisation pidof dockerd pour s’assurer que Docker est réellement arrêté. Continuez si la commande n’émet aucune sortie, confirmant qu’il n’y a pas de processus en cours d’exécution.

Courir sudo rm /var/run/docker.pid pour supprimer l’ancien fichier d’ID de processus. Le démon devrait maintenant démarrer avec succès la prochaine fois que vous exécutez dockerdou service docker start.

Les problèmes de fichier PID sont fréquemment rencontrés lorsque vous créez un instantané d’une machine virtuelle, puis créez une nouvelle instance à partir de l’image. Le fichier de processus sera inclus dans l’instantané, ce qui fera penser au démon Docker de la nouvelle machine virtuelle qu’il est déjà en cours d’exécution.

Vérification des conteneurs individuels

L’état des conteneurs individuels est accessible via le docker ps commander. Cela émet une table contenant les détails de tous les conteneurs en cours d’exécution.

docker ps

Combinez le docker ps commande avec grep pour vérifier facilement si un conteneur spécifique s’exécute par ID ou par nom :

docker ps | grep my-container-name

Maintenant, la sortie sera filtrée pour afficher le conteneur que vous avez sélectionné. Il n’y aura aucun enregistrement si le conteneur n’est pas en cours d’exécution.

Les conteneurs arrêtés sont affichés à l’aide de docker ps -a. Un conteneur arrêté peut être démarré avec le docker start commander:

docker start my-container

Le conteneur se déplacera ensuite dans le docker ps sortir. Vous pouvez l’arrêter à nouveau avec docker stop my-container.

Conclusion

Vous avez plusieurs options à considérer lorsque vous voulez savoir si Docker est en cours d’exécution. Il y a le gestionnaire de service de votre système d’exploitation, le docker.pid et des outils d’inspection régulière des processus tels que top et pidof.

Lorsqu’il s’agit de conteneurs individuels, docker ps fournit la liste de tout ce qui est actuellement en cours d’exécution sur votre hôte. Des informations plus complètes sur l’état de tout conteneur peuvent être glanées avec docker inspect container-name qui fournit des détails sur la configuration du réseau, les volumes et les étiquettes au format JSON.

★★★★★