Bird
Raised Fist0
Dockerdevops~5 mins

Listing containers (docker ps, docker ps -a) - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Listing containers (docker ps, docker ps -a)
O(n)
Understanding Time Complexity

When we list containers using Docker commands, the time it takes depends on how many containers exist.

We want to understand how the command's work grows as the number of containers increases.

Scenario Under Consideration

Analyze the time complexity of the following Docker commands.

docker ps
# Lists running containers

docker ps -a
# Lists all containers, including stopped ones

These commands show container information by scanning the container list and displaying details.

Identify Repeating Operations

Both commands scan through the list of containers one by one.

  • Primary operation: Iterating over each container to gather and display its info.
  • How many times: Once for each container in the list.
How Execution Grows With Input

The time to list containers grows directly with the number of containers.

Input Size (n)Approx. Operations
10About 10 container checks and displays
100About 100 container checks and displays
1000About 1000 container checks and displays

Pattern observation: Doubling containers roughly doubles the work done.

Final Time Complexity

Time Complexity: O(n)

This means the command takes longer in direct proportion to how many containers there are.

Common Mistake

[X] Wrong: "Listing containers is always instant no matter how many exist."

[OK] Correct: The command must check each container, so more containers mean more work and longer time.

Interview Connect

Understanding how commands scale with data size helps you explain system behavior clearly and shows you think about efficiency.

Self-Check

What if Docker cached container info to avoid scanning all containers every time? How would that change the time complexity?

Practice

(1/5)
1. What does the command docker ps show by default?
easy
A. Only running containers
B. All containers, running and stopped
C. Only stopped containers
D. Docker images available locally

Solution

  1. Step 1: Understand the default behavior of docker ps

    The docker ps command lists containers that are currently running.
  2. Step 2: Compare with other options

    To see all containers, including stopped ones, you use docker ps -a. The command does not list images.
  3. Final Answer:

    Only running containers -> Option A
  4. Quick Check:

    docker ps = running containers [OK]
Hint: Remember: docker ps shows running containers only [OK]
Common Mistakes:
  • Thinking docker ps shows all containers
  • Confusing containers with images
  • Assuming stopped containers show without -a
2. Which of the following commands correctly lists all containers, including stopped ones?
easy
A. docker ps --stopped
B. docker ps
C. docker ps --running
D. docker ps -a

Solution

  1. Step 1: Identify the flag for listing all containers

    The -a flag with docker ps lists all containers, running or stopped.
  2. Step 2: Check other options

    docker ps alone shows only running containers. The options --running and --stopped are invalid flags.
  3. Final Answer:

    docker ps -a -> Option D
  4. Quick Check:

    docker ps -a = all containers [OK]
Hint: Use -a to list all containers, not just running [OK]
Common Mistakes:
  • Using docker ps without -a to see stopped containers
  • Trying invalid flags like --running
  • Confusing container listing with image listing
3. Given the following output from docker ps -a:

CONTAINER ID   IMAGE     STATUS              NAMES
abc123        nginx     Up 2 hours          webserver
def456        redis     Exited (0) 3 days ago cache
What will docker ps show?
medium
A. Both containers: webserver and cache
B. Only the cache container
C. Only the webserver container
D. No containers

Solution

  1. Step 1: Analyze the status of containers

    The container named webserver is "Up 2 hours" meaning it is running. The container named cache is "Exited", meaning it is stopped.
  2. Step 2: Understand docker ps output

    docker ps shows only running containers, so it will list only webserver.
  3. Final Answer:

    Only the webserver container -> Option C
  4. Quick Check:

    Running containers = webserver only [OK]
Hint: Check STATUS: 'Up' means running, 'Exited' means stopped [OK]
Common Mistakes:
  • Listing stopped containers with docker ps
  • Assuming all containers show without -a
  • Confusing container names with images
4. You run docker ps -a but get an error: unknown flag: --all. What is the likely cause?
medium
A. You typed --all instead of -a
B. Docker daemon is not running
C. You need to run the command as root
D. The container list is empty

Solution

  1. Step 1: Check the flag syntax

    The correct flag to list all containers is -a, not --all. The error shows the flag is unknown.
  2. Step 2: Rule out other causes

    If the daemon was not running, the error would be different. Running as root is not required for listing containers. An empty list does not cause a flag error.
  3. Final Answer:

    You typed --all instead of -a -> Option A
  4. Quick Check:

    Use -a flag, not --all [OK]
Hint: Use short flag -a, not --all [OK]
Common Mistakes:
  • Using invalid flag --all
  • Assuming root is needed for listing
  • Ignoring daemon status errors
5. You want to list all containers but only see their IDs and names, not other details. Which command achieves this?
hard
A. docker ps -a --short
B. docker ps -a --format "{{.ID}} {{.Names}}"
C. docker ps -a --quiet
D. docker ps --filter id --filter name

Solution

  1. Step 1: Understand formatting options

    The --format flag lets you customize output. Using {{.ID}} {{.Names}} shows only container IDs and names.
  2. Step 2: Evaluate other options

    --quiet shows only IDs, not names. --filter is for filtering, not formatting. --short is not a valid flag.
  3. Final Answer:

    docker ps -a --format "{{.ID}} {{.Names}}" -> Option B
  4. Quick Check:

    Use --format to customize output [OK]
Hint: Use --format to show only needed fields [OK]
Common Mistakes:
  • Using invalid flags like --short
  • Confusing --quiet with showing names
  • Trying to filter instead of format output
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard