In a script, I need to check:
a) Is the docker engine running?
b) Given a container name, is that docker container running?
[the initial wording of this
List all containers:
docker container ls -a
ls
= list
-a
= all
Check the column "status"
I ended up using
docker info
to check with a bash script if docker engine is running.
You can also check if a particular docker container is running or not using following command:
docker inspect postgres | grep "Running"
This command will check if for example my postgres container is running or not and will return output as "Running": true
Hope this helps.
you can check docker state using: systemctl is-active docker
➜ ~ systemctl is-active docker
active
you can use it as:
➜ ~ 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 *
docker ps -a
You can see all docker containers whether it is alive or dead.
on a Mac you might see the image:
if you right click on the docker icon then you see:
alternatively:
docker ps
and
docker run hello-world