Bird
Raised Fist0
Dockerdevops~20 mins

Resource monitoring per container in Docker - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Resource Monitoring Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
Check CPU usage of a running container
You want to see the current CPU usage of a container named webapp. Which command will show this information?
Adocker stats webapp --no-stream
Bdocker inspect webapp --format '{{.State.CpuUsage}}'
Cdocker top webapp
Ddocker logs webapp --cpu
Attempts:
2 left
💡 Hint
Use a command that shows live resource usage statistics for containers.
💻 Command Output
intermediate
1:30remaining
Memory usage output format
You run docker stats --no-stream and see the memory usage column showing 50MiB / 500MiB. What does this mean?
AThe container is using 500 MiB and has 50 MiB available
BThe container has 50 MiB free and 500 MiB used
CThe container is using 50 MiB of memory out of a 500 MiB limit
DThe container has 50 MiB total memory and 500 MiB swap
Attempts:
2 left
💡 Hint
The format is usually 'used / limit'.
❓ Configuration
advanced
2:30remaining
Limit CPU usage of a container
You want to limit a container named db to use at most 0.5 CPU cores. Which command correctly starts the container with this limit?
Adocker run --cpu-shares=0.5 --name db mydbimage
Bdocker run --cpus=0.5 --name db mydbimage
Cdocker run --cpu-quota=50000 --name db mydbimage
Ddocker run --cpulimit=0.5 --name db mydbimage
Attempts:
2 left
💡 Hint
Use the flag that sets the number of CPUs directly.
❓ Troubleshoot
advanced
3:00remaining
Diagnose why container memory usage is high
A container api is using more memory than expected. You want to check its memory limit and usage. Which sequence of commands helps you find this info?
Adocker stats api --no-stream; docker inspect api --format '{{.HostConfig.Memory}}'
Bdocker exec api free -m; docker inspect api --format '{{.State.MemoryUsage}}'
Cdocker logs api; docker top api
Ddocker stats api; docker inspect api --format '{{.Config.Memory}}'
Attempts:
2 left
💡 Hint
One command shows current usage, the other shows configured limits.
✅ Best Practice
expert
3:00remaining
Efficient resource monitoring setup for multiple containers
You manage many containers and want to monitor CPU and memory usage continuously with minimal overhead. Which approach is best?
AUse 'docker stats' with --no-stream repeatedly in a script every second
BCheck container logs for resource usage messages periodically
CRun 'docker top' on each container every minute and parse output
DInstall a monitoring agent like cAdvisor or Prometheus node exporter on the host
Attempts:
2 left
💡 Hint
Look for a scalable and low-overhead monitoring solution.

Practice

(1/5)
1. What does the docker stats command show for each running container?
easy
A. The container's file system contents
B. The container's log output
C. Live resource usage like CPU, memory, network, and disk I/O
D. The container's environment variables

Solution

  1. Step 1: Understand the purpose of docker stats

    The docker stats command is designed to show live resource usage statistics for running containers.
  2. Step 2: Identify the resources monitored

    It monitors CPU, memory, network I/O, and disk I/O per container to help track performance.
  3. Final Answer:

    Live resource usage like CPU, memory, network, and disk I/O -> Option C
  4. Quick Check:

    docker stats = Live resource usage [OK]
Hint: Remember: docker stats shows live resource use per container [OK]
Common Mistakes:
  • Confusing docker stats with docker logs
  • Thinking it shows file system contents
  • Assuming it shows environment variables
2. Which of the following is the correct command to show live resource usage for all running Docker containers?
easy
A. docker stats
B. docker monitor
C. docker inspect stats
D. docker top

Solution

  1. Step 1: Recall the command for resource monitoring

    The command docker stats is the official Docker command to show live resource usage for containers.
  2. Step 2: Verify other options

    docker monitor and docker inspect stats are invalid commands, and docker top shows running processes, not resource stats.
  3. Final Answer:

    docker stats -> Option A
  4. Quick Check:

    Correct command = docker stats [OK]
Hint: Use 'docker stats' to see live container resource use [OK]
Common Mistakes:
  • Using docker top to check resource usage
  • Trying docker monitor which doesn't exist
  • Confusing docker inspect with stats
3. You run docker stats --no-stream on a container. What will you see?
medium
A. Continuous live updates of resource usage
B. A single snapshot of current resource usage
C. Only CPU usage without memory info
D. Error because --no-stream is invalid

Solution

  1. Step 1: Understand the --no-stream option

    The --no-stream option tells docker stats to show resource usage only once, not continuously.
  2. Step 2: Identify the output behavior

    It outputs a single snapshot of CPU, memory, network, and disk I/O usage at the moment the command runs.
  3. Final Answer:

    A single snapshot of current resource usage -> Option B
  4. Quick Check:

    --no-stream = single snapshot [OK]
Hint: Use --no-stream for one-time resource snapshot [OK]
Common Mistakes:
  • Expecting continuous updates with --no-stream
  • Thinking it shows only CPU usage
  • Assuming --no-stream is invalid
4. You try to run docker stats --format '{{.CPUPerc}} but get no output. What is the likely problem?
medium
A. The format string is missing a closing single quote
B. The container is stopped, so no stats show
C. The --format option is not supported in docker stats
D. You need to add --no-stream to see output

Solution

  1. Step 1: Check the format string syntax

    The command uses --format '{{.CPUPerc}} which is missing the closing single quote after the curly braces.
  2. Step 2: Understand impact of missing quote

    Without the closing quote, the shell or Docker cannot parse the format string, so no output appears.
  3. Final Answer:

    The format string is missing a closing single quote -> Option A
  4. Quick Check:

    Format string syntax error = missing quote [OK]
Hint: Always close quotes in --format strings [OK]
Common Mistakes:
  • Assuming stopped containers show no stats (they do not appear in stats)
  • Thinking --format is unsupported
  • Believing --no-stream is required for output
5. You want to monitor CPU and memory usage of a specific container named webapp and save the output once to a file. Which command should you use?
hard
A. docker stats --stream=false webapp > usage.txt
B. docker stats webapp --output usage.txt
C. docker monitor webapp > usage.txt
D. docker stats --no-stream --format 'table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}' webapp > usage.txt

Solution

  1. Step 1: Choose the correct command and options

    To get a one-time snapshot, use --no-stream. To format output with container name, CPU, and memory, use --format with a table layout.
  2. Step 2: Redirect output to a file

    Use shell redirection > usage.txt to save the output to a file named usage.txt.
  3. Final Answer:

    docker stats --no-stream --format 'table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}' webapp > usage.txt -> Option D
  4. Quick Check:

    One-time formatted output saved to file = docker stats --no-stream --format 'table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}' webapp > usage.txt [OK]
Hint: Use --no-stream and --format, redirect output to file [OK]
Common Mistakes:
  • Using invalid docker monitor command
  • Assuming --output option exists
  • Using --stream=false instead of --no-stream
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