Bird
Raised Fist0
Dockerdevops~5 mins

Restart policies in Docker - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a restart policy in Docker?
A restart policy tells Docker when to automatically restart a container if it stops or crashes.
Click to reveal answer
beginner
Name the four main Docker restart policies.
The four main restart policies are: no, on-failure, always, and unless-stopped.
Click to reveal answer
beginner
What does the 'always' restart policy do?
The 'always' policy restarts the container whenever it stops, no matter the exit status, even after Docker daemon restarts.
Click to reveal answer
beginner
How does the 'on-failure' restart policy work?
The 'on-failure' policy restarts the container only if it exits with a non-zero exit code, indicating an error.
Click to reveal answer
intermediate
What is the difference between 'unless-stopped' and 'always' restart policies?
'Unless-stopped' restarts containers unless you manually stop them. 'Always' restarts containers even after manual stops.
Click to reveal answer
Which Docker restart policy restarts a container only if it crashes with an error?
Aalways
Bon-failure
Cno
Dunless-stopped
What happens if you set the restart policy to 'no'?
ADocker never restarts the container automatically
BDocker always restarts the container
CDocker restarts only on failure
DDocker restarts unless manually stopped
Which restart policy will restart a container even after Docker daemon restarts?
Ano
Bon-failure
Calways
Dnone
If you want a container to restart unless you manually stop it, which policy do you choose?
Aunless-stopped
Balways
Con-failure
Dno
How do you set a restart policy when running a Docker container?
Adocker create --restart-policy=<policy> <image>
Bdocker start --restart=<policy> <container>
Cdocker restart --policy=<policy> <container>
Ddocker run --restart=<policy> <image>
Explain the purpose of Docker restart policies and list the main types.
Think about what happens when a container stops or crashes.
You got /2 concepts.
    Describe a scenario where you would use the 'on-failure' restart policy instead of 'always'.
    Consider when you want to avoid restarting containers that stopped on purpose.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the --restart=always policy do when used with docker run?
      easy
      A. It restarts the container only if it exits with an error.
      B. It never restarts the container automatically.
      C. It restarts the container automatically whenever it stops, no matter the reason.
      D. It restarts the container only if manually triggered.

      Solution

      1. Step 1: Understand the restart policy options

        The --restart flag controls when Docker restarts a container automatically.
      2. Step 2: Analyze the always policy

        The always policy means Docker restarts the container whenever it stops, regardless of exit status or manual stop.
      3. Final Answer:

        It restarts the container automatically whenever it stops, no matter the reason. -> Option C
      4. Quick Check:

        --restart=always = restart always [OK]
      Hint: Always means restart no matter what, even manual stops [OK]
      Common Mistakes:
      • Confusing 'always' with 'on-failure'
      • Thinking 'always' ignores manual stops
      • Mixing 'no' restart with 'always'
      2. Which of the following is the correct syntax to run a container with a restart policy that restarts only on failure?
      easy
      A. docker run --restart=on-failure:5 myimage
      B. docker run --restart=always myimage
      C. docker run --restart unless-stopped myimage
      D. docker run --restart=no myimage

      Solution

      1. Step 1: Recall the syntax for restart policies

        The correct syntax uses --restart=policy[:max-retries] with an equals sign and optional retry count.
      2. Step 2: Identify the option that matches restart on failure with max retries

        on-failure:5 means restart only if the container fails, up to 5 times.
      3. Final Answer:

        docker run --restart=on-failure:5 myimage -> Option A
      4. Quick Check:

        Correct syntax uses equals sign and policy [OK]
      Hint: Use --restart=policy with equals sign, e.g. --restart=on-failure [OK]
      Common Mistakes:
      • Missing equals sign (=) after --restart
      • Using wrong policy names or formats
      • Confusing 'always' with 'on-failure'
      3. What will happen if you run this command?
      docker run --restart=unless-stopped myapp
      medium
      A. The container restarts unless you manually stop it.
      B. The container restarts always, even if stopped manually.
      C. The container never restarts automatically.
      D. The container restarts only if it fails, not if stopped manually.

      Solution

      1. Step 1: Understand the 'unless-stopped' policy

        This policy restarts the container automatically except when you stop it manually.
      2. Step 2: Apply the policy to the command

        Since the command uses --restart=unless-stopped, the container will restart on failures or Docker daemon restarts, but not if manually stopped.
      3. Final Answer:

        The container restarts unless you manually stop it. -> Option A
      4. Quick Check:

        unless-stopped means restart except manual stop [OK]
      Hint: 'unless-stopped' means restart except manual stop [OK]
      Common Mistakes:
      • Thinking it restarts always even after manual stop
      • Confusing 'unless-stopped' with 'on-failure'
      • Assuming no restart happens
      4. You tried to run a container with this command:
      docker run --restart always:3 myimage

      Why does it fail?
      medium
      A. The container name is missing.
      B. The image name is invalid.
      C. The '--restart' flag is misspelled.
      D. The 'always' policy does not accept a retry count.

      Solution

      1. Step 1: Check the restart policy syntax

        The always policy does not support a retry count suffix like ':3'. Only on-failure accepts that.
      2. Step 2: Identify the cause of failure

        Using always:3 is invalid syntax, so Docker rejects the command.
      3. Final Answer:

        The 'always' policy does not accept a retry count. -> Option D
      4. Quick Check:

        always policy has no retry count [OK]
      Hint: 'always' policy never uses retry count suffix [OK]
      Common Mistakes:
      • Adding retry count to 'always' policy
      • Assuming all policies accept retry counts
      • Ignoring error messages from Docker
      5. You want a container to restart automatically only if it crashes, but not if you stop it manually. Which restart policy and command should you use?
      hard
      A. docker run --restart=always mycontainer
      B. docker run --restart=on-failure mycontainer
      C. docker run --restart=unless-stopped mycontainer
      D. docker run --restart=no mycontainer

      Solution

      1. Step 1: Understand the requirement

        The container should restart only if it crashes (fails), but not if stopped manually.
      2. Step 2: Match the restart policy

        on-failure restarts the container only when it exits with an error, ignoring manual stops.
      3. Step 3: Verify the command

        The command docker run --restart=on-failure mycontainer correctly applies this policy.
      4. Final Answer:

        docker run --restart=on-failure mycontainer -> Option B
      5. Quick Check:

        on-failure = restart only on crash [OK]
      Hint: Use 'on-failure' to restart only on crashes, not manual stops [OK]
      Common Mistakes:
      • Using 'always' which restarts even after manual stop
      • Using 'unless-stopped' which restarts after manual stop
      • Choosing 'no' which disables restart
      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