Starting and stopping containers in Docker - Time & Space Complexity
We want to understand how the time it takes to start and stop Docker containers changes as we handle more containers.
How does the number of containers affect the total time to start or stop them all?
Analyze the time complexity of the following Docker commands used in a script.
for container in $(docker ps -q); do
docker stop $container
docker start $container
done
This script stops and then starts each running container one by one.
Look for repeated actions in the code.
- Primary operation: Stopping and starting each container.
- How many times: Once for each container running on the system.
As the number of containers increases, the total time grows because each container is handled separately.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 20 (10 stops + 10 starts) |
| 100 | 200 (100 stops + 100 starts) |
| 1000 | 2000 (1000 stops + 1000 starts) |
Pattern observation: The total operations grow directly with the number of containers.
Time Complexity: O(n)
This means the time to start and stop containers grows in a straight line with how many containers there are.
[X] Wrong: "Starting or stopping multiple containers at once takes the same time as one container."
[OK] Correct: Each container needs its own start and stop action, so time adds up with more containers.
Understanding how operations scale with the number of containers shows you can think about system behavior as it grows, a key skill in real work.
"What if we stopped and started containers in parallel instead of one by one? How would the time complexity change?"