Если вы ищете конкретный контейнер, вы можете запустить:
if [ "$( docker container inspect -f '{{.State.Running}}' $container_name )" == "true" ]; then ...
Чтобы избежать проблем с контейнером, который находится в цикле сбоя и постоянно перезапускается из-за того, что он работает, вышеуказанное можно улучшить, проверив Status
поле:
if [ "$( docker container inspect -f '{{.State.Status}}' $container_name )" == "running" ]; then ...
Если вы хотите узнать, работает ли dockerd на локальном компьютере и у вас установлен systemd, вы можете запустить:
systemctl show --property ActiveState docker
Вы также можете подключиться к докеру с помощью docker info
или, docker version
и они выдадут ошибку, если демон будет недоступен.