If you're just getting started with Docker containers, you may be a bit confused how there doesn't seem to be a command called "list" to show the containers available on your system. There is ineed no such command, but listing functionality is certainly there.
List currently running Docker containers
You need the docker ps command – it lists containers in a readable table:
root@dcs:~ # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1b8b1657736e datadog/agent:latest "/init" 8 months ago Up 8 months (healthy) 8125/udp, 8126/tcp dd-agent c745794419a9 mariadb:latest "docker-entrypoint.s…" 8 months ago Up 8 months 3306/tcp db 32cd3e477546 nginx:latest "nginx -g 'daemon of…" 11 months ago Up 4 months 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp nginx
Executed without any command line options, docker ps shows only the active containers – the ones running at this very moment.
List all the Docker containers
In case you experience some trouble with one of the containers, where the Docker container will start and immediately go offline, your docker ps won't help – by the time you run it the container will disappear from the list.
This is where you need to use the –all command line option:
root@dcs:~ # docker ps --all CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f4b4ae616898 wordpress "docker-entrypoint.s…" 7 months ago Exited (0) 7 months ago competent_johnson 1b8b1657736e datadog/agent:latest "/init" 8 months ago Up 8 months (healthy) 8125/udp, 8126/tcp dd-agent c745794419a9 mariadb:latest "docker-entrypoint.s…" 8 months ago Up 8 months 3306/tcp db 4c82fa3d5d1c mariadb:latest "docker-entrypoint.s…" 9 months ago Exited (1) 9 months ago mysql 78fd23e82bba confluence:latest "/sbin/tini -- /entr…" 11 months ago Exited (143) 10 months ago wiki_https 73c9ca67c77b confluence:latest "/sbin/tini -- /entr…" 11 months ago Exited (143) 11 months ago wiki 56728d0f1ab5 mariadb:latest "docker-entrypoint.s…" 11 months ago Exited (0) 10 months ago mariadb 32cd3e477546 nginx:latest "nginx -g 'daemon of…" 11 months ago Up 4 months 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp nginx 496b0d371a70 hello-world "/hello" 11 months ago Exited (0) 11 months ago stoic_brattain
List containers filtered by a specified criteria
You'll soon realise that on a busy Docker host you probably need to apply some filter when listing containers. This functionality allows you to filter lists by many common Docker container properties.
For example, this is how we can list just the containers with a specific name:
root@dcs:~ # docker ps -f name=nginx CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 32cd3e477546 nginx:latest "nginx -g 'daemon of…" 11 months ago Up 4 months 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp nginx
And this is how you can show just the Docker containers with "exited" status:
root@dcr:~ # docker ps -f status=exited CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f4b4ae616898 wordpress "docker-entrypoint.s…" 7 months ago Exited (0) 7 months ago competent_johnson 4c82fa3d5d1c mariadb:latest "docker-entrypoint.s…" 9 months ago Exited (1) 9 months ago mysql 78fd23e82bba confluence:latest "/sbin/tini -- /entr…" 11 months ago Exited (143) 10 months ago wiki_https 73c9ca67c77b confluence:latest "/sbin/tini -- /entr…" 11 months ago Exited (143) 11 months ago wiki 56728d0f1ab5 mariadb:latest "docker-entrypoint.s…" 11 months ago Exited (0) 10 months ago mariadb 496b0d371a70 hello-world "/hello" 11 months ago Exited (0) 11 months ago stoic_brattain
That's it for today! Let me know if you're using Docker and whether you need help with anything!
Leave a Reply