Bird
Raised Fist0
Dockerdevops~3 mins

Listing containers (docker ps, docker ps -a) - Commands & Configuration

Choose your learning style10 modes available
Introduction
Sometimes you want to see which containers are running or have run on your computer. The commands docker ps and docker ps -a help you list these containers so you know their status and details.
When you want to check which containers are currently running on your machine.
When you want to see all containers, including those that have stopped or exited.
When you need to find the container ID or name to stop or remove a container.
When you want to verify if a container started correctly after running a docker run command.
When you want to monitor container uptime and status during development or troubleshooting.
Commands
This command lists all containers that are currently running. It shows useful details like container ID, image, status, and ports.
Terminal
docker ps
Expected OutputExpected
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b7c8f9a1d2e3 nginx:1.23.3 "/docker-entrypoint.…" 10 minutes ago Up 10 minutes 0.0.0.0:8080->80/tcp my-nginx
This command lists all containers on your system, including those that are stopped or exited. It helps you see the full history of containers.
Terminal
docker ps -a
Expected OutputExpected
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b7c8f9a1d2e3 nginx:1.23.3 "/docker-entrypoint.…" 10 minutes ago Up 10 minutes 0.0.0.0:8080->80/tcp my-nginx f4d5e6b7c8a9 redis:7.0 "docker-entrypoint.s…" 2 hours ago Exited (0) 30 minutes ago my-redis
→
-a - Show all containers, including stopped ones
Key Concept

If you remember nothing else from this pattern, remember: docker ps shows running containers, docker ps -a shows all containers including stopped ones.

Common Mistakes
Running docker ps expecting to see stopped containers.
docker ps only shows running containers, so stopped containers won't appear.
Use docker ps -a to see all containers, including stopped ones.
Not recognizing container names or IDs when managing containers.
Without listing containers, you can't find the correct container to stop or remove.
Always run docker ps or docker ps -a to find container IDs or names before managing them.
Summary
docker ps lists only running containers with their details.
docker ps -a lists all containers, including stopped and exited ones.
Use these commands to find container IDs or names for further management.

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