Bird
Raised Fist0
Dockerdevops~15 mins

Container resource usage stats in Docker - Mini Project: Build & Apply

Choose your learning style10 modes available
Container resource usage stats
📖 Scenario: You are managing Docker containers on your local machine. You want to check how much CPU and memory each container is using to keep your system healthy.
🎯 Goal: Learn to use Docker commands to list running containers and display their CPU and memory usage statistics.
📋 What You'll Learn
Use the docker ps command to list running containers.
Use the docker stats --no-stream command to get resource usage of containers.
Filter the output to show only container IDs, names, CPU %, and memory usage.
💡 Why This Matters
🌍 Real World
Monitoring container resource usage helps keep applications running smoothly and prevents system overload.
💼 Career
DevOps engineers and system administrators regularly check container stats to maintain healthy infrastructure.
Progress0 / 4 steps
1
List running Docker containers
Run the command docker ps --format "{{.ID}} {{.Names}}" to list all running containers showing only their IDs and names.
Docker
Hint

This command lists running containers with their IDs and names in a simple format.

2
Add option to show resource usage once
Run the command docker stats --no-stream --format "{{.Container}} {{.Name}} {{.CPUPerc}} {{.MemUsage}}" to show CPU and memory usage of running containers only once.
Docker
Hint

The --no-stream option makes docker stats show usage once instead of continuously.

3
Filter output to show only container ID, name, CPU %, and memory usage
Use the command docker stats --no-stream --format "{{.Container}} {{.Name}} {{.CPUPerc}} {{.MemUsage}}" to display only container ID, name, CPU percentage, and memory usage.
Docker
Hint

The format string controls which columns appear in the output.

4
Display the container resource usage stats
Run the command docker stats --no-stream --format "{{.Container}} {{.Name}} {{.CPUPerc}} {{.MemUsage}}" and observe the output showing container resource usage.
Docker
Hint

The output will show each container's ID, name, CPU percentage, and memory usage.

Practice

(1/5)
1. What does the docker stats command show you?
easy
A. Docker network settings
B. Real-time resource usage like CPU and memory of containers
C. Logs of a running container
D. List of all Docker images on the system

Solution

  1. Step 1: Understand the purpose of docker stats

    This command is designed to show resource usage statistics of running containers.
  2. Step 2: Identify what resource stats include

    It shows CPU, memory, network IO, and block IO usage in real time.
  3. Final Answer:

    Real-time resource usage like CPU and memory of containers -> Option B
  4. Quick Check:

    docker stats = resource usage [OK]
Hint: Remember: stats = resource usage snapshot [OK]
Common Mistakes:
  • Confusing stats with logs
  • Thinking it lists images
  • Assuming it shows network config
2. Which of these is the correct syntax to get a one-time snapshot of container stats for container named webapp?
easy
A. docker stats --no-stream webapp
B. docker stats webapp
C. docker stats --once webapp
D. docker stats webapp --snapshot

Solution

  1. Step 1: Recall the correct option for one-time snapshot

    The flag --no-stream disables continuous updates and shows a single snapshot.
  2. Step 2: Check correct command order

    The flag --no-stream should come before the container name webapp.
  3. Final Answer:

    docker stats --no-stream webapp -> Option A
  4. Quick Check:

    One-time stats = --no-stream before container [OK]
Hint: Use --no-stream before container name for snapshot [OK]
Common Mistakes:
  • Using wrong flag like --once or --snapshot
  • Omitting the --no-stream flag
  • Omitting container name
3. What output will you get when running docker stats --no-stream with two running containers named db and cache?
medium
A. A single snapshot table showing CPU, memory, and IO stats for db and cache
B. An error saying container names are missing
C. A live updating table of resource usage for db and cache containers
D. Only stats for the first container found

Solution

  1. Step 1: Understand the effect of --no-stream flag

    This flag disables live updates and shows only one snapshot of stats.
  2. Step 2: Check default behavior without container names

    Without specifying containers, stats shows all running containers, here db and cache.
  3. Final Answer:

    A single snapshot table showing CPU, memory, and IO stats for db and cache -> Option A
  4. Quick Check:

    --no-stream + multiple containers = single snapshot for all [OK]
Hint: No container names + --no-stream = snapshot for all running [OK]
Common Mistakes:
  • Expecting live updates with --no-stream
  • Thinking container names are required
  • Assuming only one container stats shown
4. You run docker stats --no-stream mycontainer but get an error: no such container: mycontainer. What is the likely cause?
medium
A. Docker daemon is not running
B. The --no-stream flag is not supported
C. The container name is misspelled or does not exist
D. You need to add --all flag to see stopped containers

Solution

  1. Step 1: Analyze the error message

    The error says container not found, so the name is likely wrong or container is not running.
  2. Step 2: Check other options

    --no-stream is valid, Docker daemon error would be different, and --all is not for stats command.
  3. Final Answer:

    The container name is misspelled or does not exist -> Option C
  4. Quick Check:

    Container not found error = wrong name [OK]
Hint: Check container name spelling if 'no such container' error [OK]
Common Mistakes:
  • Assuming --no-stream causes error
  • Ignoring Docker daemon status
  • Thinking --all shows stats for stopped containers
5. You want to monitor CPU and memory usage of a container named api-server but only want a single snapshot, not continuous updates. Which command should you use and why?
hard
A. docker stats api-server --interval=1 to update every second
B. docker stats api-server because it shows live updates by default
C. docker stats --all api-server to include stopped containers
D. docker stats --no-stream api-server because it shows one-time resource usage snapshot

Solution

  1. Step 1: Identify the need for a single snapshot

    Using --no-stream disables continuous updates and shows one snapshot.
  2. Step 2: Confirm container name usage

    Specify the container name api-server to get stats only for it.
  3. Step 3: Evaluate other options

    Default docker stats streams live updates, --all is invalid here, and --interval is not a valid flag.
  4. Final Answer:

    docker stats --no-stream api-server because it shows one-time resource usage snapshot -> Option D
  5. Quick Check:

    Single snapshot = --no-stream with container name [OK]
Hint: Use --no-stream with container name for single snapshot [OK]
Common Mistakes:
  • Omitting --no-stream for single snapshot
  • Using invalid flags like --all or --interval
  • Expecting live updates when not wanted
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