How does the command 'docker container ls -aq' differ from the regular 'docker container ls' command?

QuestionsQuestions8 SkillsProDec, 24 2025
0107

That's a great question! Understanding these flags is key to mastering the Docker CLI. Here is the breakdown of the differences:

1. docker container ls

This is the regular command.

  • Shows: Only running containers.
  • Output: A formatted table with columns like CONTAINER ID, IMAGE, COMMAND, STATUS, PORTS, and NAMES.

2. docker container ls -aq

This combines two specific flags: -a and -q.

  • -a (or --all): This reveals all containers. By default, Docker hides containers that are stopped or exited. Using -a ensures you see everything in the "kingdom," regardless of its state.
  • -q (or --quiet): This changes the output format. Instead of a full table with many columns, it displays only the Container IDs.

Summary Table

Command Status Shown Output Detail
ls Running only Full table (Name, Image, Status, etc.)
ls -a All (Running + Stopped) Full table
ls -aq All (Running + Stopped) Only IDs

Why use -aq?
It is most commonly used for batch operations. For example, if you wanted to delete every single container on your system, you could run:
docker container rm $(docker container ls -aq)

This tells Docker: "List all container IDs and pass that list to the remove command."

Give the docker container ls -a (without the -q) a try as well so you can see the difference in the visual output!

0 Comments

no data
Be the first to share your comment!