Si vous recherchez un conteneur spécifique, vous pouvez exécuter:
if [ "$( docker container inspect -f '{{.State.Running}}' $container_name )" == "true" ]; then ...
Pour éviter les problèmes avec un conteneur qui se trouve dans une boucle de crash et qui redémarre constamment pour montrer qu'il est en place, ce qui précède peut être amélioré en vérifiant le Status
champ:
if [ "$( docker container inspect -f '{{.State.Status}}' $container_name )" == "running" ]; then ...
Si vous voulez savoir si dockerd s'exécute lui-même sur la machine locale et que systemd est installé, vous pouvez exécuter:
systemctl show --property ActiveState docker
Vous pouvez également vous connecter au docker avec docker info
ou docker version
et ils obtiendront une erreur si le démon n'est pas disponible.