Je suis nouveau au docker. J'écris un script simple pour docker. Je dois vérifier si le menu fixe est en cours d'exécution ou non. Existe-t-il une commande à vérifier avec le nom du conteneur
Si vous recherchez un conteneur spécifique, vous pouvez exécuter:
docker inspect -f '{{.State.Running}}' $container_name
Si vous voulez savoir si dockerd s’exécute sur la machine locale et que vous avez installé systemd, vous pouvez exécuter:
systemctl show --property ActiveState docker
Vous pouvez également vous connecter à docker avec docker info
ou docker version
et ils afficheront une erreur si le démon est indisponible.
J'ai fini par utiliser
docker info
vérifier avec un script bash si le moteur docker est en cours d'exécution.
vous pouvez vérifier l'état du menu fixe à l'aide de: systemctl is-active docker
➜ ~ systemctl is-active docker
active
vous pouvez l'utiliser comme:
➜ ~ if [ `systemctl is-active docker` = "active" ]; then echo "is alive :)" ; fi
is alive :)
➜ ~ Sudo systemctl stop docker
➜ ~ if [ `systemctl is-active docker` = "active" ]; then echo "is alive :)" ; fi
* empty response *
Pour les utilisateurs de Mac OS X (Mojave 10.14.3)
Voici ce que j'utilise dans mon script Bash pour tester si Docker est en cours d'exécution ou non
# Check if docker is running
docker_state=$(docker info >/dev/null 2>&1)
if [[ $? -ne 0 ]]; then
echo "Docker does not seem to be running, run it first and retry"
exit 1
fi
Lister tous les conteneurs:docker container ls -a
ls = liste
- a = tous
Vérifiez la colonne "status"
Toute commande de docker (à l'exception de docker -v
), telle que docker ps
Si Docker est en cours d'exécution, vous obtiendrez une réponse valide. Sinon, vous recevrez un message indiquant "Votre démon de docker est-il opérationnel?"
Vous pouvez également vérifier votre gestionnaire de tâches.
Vous pouvez vérifier avec cette commande systemctl status docker
qu'il affichera l'état du menu fixe. Si vous voulez commencer, vous pouvez utiliser systemctl start docker
au lieu de systemctl
, vous pouvez également essayer avec service
, service docker status
et service docker start
respectivement.
Vous pouvez également vérifier si un conteneur docker particulier est en cours d'exécution ou n'utilise pas la commande suivante:
docker inspect postgres | grep "Running"
Cette commande vérifiera si, par exemple, mon conteneur postgres est en cours d’exécution et renverra la sortie sous la forme "Running": true
J'espère que cela t'aides.
Si l'objectif sous-jacent est "Comment puis-je démarrer un conteneur au démarrage de Docker?"
Nous pouvons utiliser Docker politique de redémarrage
Pour ajouter une politique de redémarrage à un conteneur existant:
Docker: Ajouter une politique de redémarrage à un conteneur déjà créé
Exemple:
docker update --restart=always <container>