Bird
Raised Fist0
Dockerdevops~5 mins

Restarting containers in Docker - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Restarting containers
O(n)
Understanding Time Complexity

We want to understand how the time to restart containers changes as the number of containers grows.

How does restarting many containers affect the total time taken?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


for container in $(docker ps -q); do
  docker restart $container
  echo "Restarted container $container"
done
    

This script lists all running containers and restarts each one, printing a message after each restart.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Restarting each container one by one inside a loop.
  • How many times: Once for each running container (n times).
How Execution Grows With Input

As the number of containers increases, the total time grows roughly in direct proportion.

Input Size (n)Approx. Operations
1010 restarts
100100 restarts
10001000 restarts

Pattern observation: Doubling the number of containers doubles the total restart operations.

Final Time Complexity

Time Complexity: O(n)

This means the time to restart containers grows linearly with the number of containers.

Common Mistake

[X] Wrong: "Restarting multiple containers happens all at once, so time stays the same no matter how many containers there are."

[OK] Correct: Each container restart is done one after another, so total time adds up with each container.

Interview Connect

Understanding how operations scale with input size helps you explain system behavior clearly and shows you can reason about real-world scripts.

Self-Check

"What if we restarted all containers in parallel instead of one by one? How would the time complexity change?"

Practice

(1/5)
1. What does the docker restart <container_name> command do?
easy
A. Only starts the specified container
B. Only stops the specified container
C. Deletes the specified container
D. Stops and then starts the specified container

Solution

  1. Step 1: Understand the restart command

    The docker restart command is designed to stop a running container and then start it again.
  2. Step 2: Compare with other commands

    Stopping only halts the container, starting only launches it, and deleting removes it. Restart does both stop and start.
  3. Final Answer:

    Stops and then starts the specified container -> Option D
  4. Quick Check:

    Restart = Stop + Start [OK]
Hint: Restart means stop then start container [OK]
Common Mistakes:
  • Thinking restart only stops or only starts
  • Confusing restart with remove or delete
  • Assuming restart creates a new container
2. Which of the following is the correct syntax to restart a container named webapp?
easy
A. docker restart -c webapp
B. docker restart webapp
C. docker restart --container webapp
D. docker restart container webapp

Solution

  1. Step 1: Recall the basic restart syntax

    The correct syntax is docker restart <container_name> without extra flags for container name.
  2. Step 2: Evaluate the options

    Options B, C, and D add invalid flags or keywords not recognized by Docker CLI for restart.
  3. Final Answer:

    docker restart webapp -> Option B
  4. Quick Check:

    Simple restart command = docker restart container_name [OK]
Hint: Use 'docker restart' plus container name only [OK]
Common Mistakes:
  • Adding unnecessary flags like -c or --container
  • Using extra keywords after restart
  • Confusing restart syntax with other commands
3. What will be the output of the command docker restart myapp if the container myapp is currently stopped?
medium
A. myapp
B. Error: Container is not running
C. Container myapp restarted successfully
D. No output

Solution

  1. Step 1: Understand restart behavior on stopped container

    If the container is stopped, docker restart will start it and print the container name.
  2. Step 2: Check Docker CLI output format

    The command outputs the container name on success, not a success message or error if stopped.
  3. Final Answer:

    myapp -> Option A
  4. Quick Check:

    Restart prints container name on success [OK]
Hint: Restart prints container name even if stopped [OK]
Common Mistakes:
  • Expecting an error if container is stopped
  • Expecting a success message instead of container name
  • Thinking restart does nothing if container stopped
4. You run docker restart 123abc but get an error: Error: No such container: 123abc. What is the likely cause?
medium
A. Docker daemon is not running
B. The container is already running
C. The container ID or name is incorrect or does not exist
D. You need to add --force flag to restart

Solution

  1. Step 1: Analyze the error message

    The error says no such container, meaning Docker cannot find a container with ID or name '123abc'.
  2. Step 2: Check other options

    Running container does not cause this error, Docker daemon not running causes different errors, and --force is not a valid restart flag.
  3. Final Answer:

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

    No such container = wrong ID/name [OK]
Hint: Check container ID/name spelling if 'No such container' error [OK]
Common Mistakes:
  • Assuming container must be stopped to restart
  • Trying to force restart with invalid flags
  • Ignoring Docker daemon status
5. You want a container to automatically restart if it crashes or Docker restarts. Which command correctly starts a container named db with this behavior?
hard
A. docker run --restart=always db
B. docker run --restart=never db
C. docker run --restart=on-failure db
D. docker run --restart=unless-stopped db

Solution

  1. Step 1: Understand restart policies

    The --restart=always policy restarts the container whenever it stops, including crashes and Docker daemon restarts.
  2. Step 2: Compare other policies

    never disables restart, on-failure restarts only on errors, and unless-stopped restarts except when manually stopped.
  3. Final Answer:

    docker run --restart=always db -> Option A
  4. Quick Check:

    Always restart = auto restart on crash and daemon restart [OK]
Hint: Use --restart=always for auto restart on crash and reboot [OK]
Common Mistakes:
  • Using --restart=never which disables restart
  • Confusing on-failure with always
  • Not setting restart policy at container start
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