Se você estiver procurando por um contêiner específico, pode executar:
if [ "$( docker container inspect -f '{{.State.Running}}' $container_name )" == "true" ]; then ...
Para evitar problemas com um contêiner que está em um loop de falha e reiniciando constantemente para não mostrar que está ativo, o item acima pode ser melhorado marcando o Status
campo:
if [ "$( docker container inspect -f '{{.State.Status}}' $container_name )" == "running" ]; then ...
Se você quiser saber se o dockerd está sendo executado na máquina local e se o systemd está instalado, execute:
systemctl show --property ActiveState docker
Você também pode se conectar ao docker com docker info
ou docker version
e eles apresentarão um erro se o daemon não estiver disponível.