Якщо ви шукаєте конкретний контейнер, ви можете запустити:
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
і вони помиляться, якщо демон буде недоступний.