Bird
Raised Fist0
Dockerdevops~5 mins

System prune for cleanup in Docker - Commands & Configuration

Choose your learning style10 modes available
Introduction
Sometimes your computer fills up with unused Docker data like stopped containers, unused images, and networks. This can slow things down or waste space. The system prune command helps clean up all this unused data in one go.
When your disk space is low and you want to free up space used by Docker.
After testing many containers and images that you no longer need.
When you want to remove all stopped containers and unused images to keep your system tidy.
Before backing up your system to reduce the backup size.
When Docker commands become slow due to too many leftover resources.
Commands
This command removes all stopped containers, unused networks, dangling images, and build cache without asking for confirmation because of the -f flag.
Terminal
docker system prune -f
Expected OutputExpected
Deleted Containers: <container_id_1> Deleted Images: <image_id_1> Deleted Networks: <network_id_1> Total reclaimed space: 500MB
→
-f - Force the prune without confirmation prompt
This command shows how much disk space Docker is using before and after cleanup to verify the prune worked.
Terminal
docker system df
Expected OutputExpected
TYPE TOTAL ACTIVE SIZE RECLAIMABLE Images 10 2 2.5GB 1.5GB (60%) Containers 5 1 300MB 200MB (66%) Local Volumes 3 3 1GB 0B (0%) Build Cache 0 0 0B 0B
Key Concept

If you remember nothing else from this pattern, remember: docker system prune cleans up all unused Docker data to free disk space quickly.

Common Mistakes
Running docker system prune without the -f flag and then not confirming the prompt.
The command waits for user confirmation and does nothing until you type 'y'.
Use the -f flag to skip the confirmation if you want to automate or speed up the cleanup.
Expecting docker system prune to remove all images including those used by running containers.
It only removes dangling and unused images, not images used by running containers.
Stop and remove containers first if you want to remove their images.
Summary
Use docker system prune -f to remove all stopped containers, unused networks, dangling images, and build cache.
Check disk space usage before and after cleanup with docker system df.
Add the -f flag to avoid confirmation prompts during cleanup.

Practice

(1/5)
1. What does the Docker command docker system prune do?
easy
A. Stops all running containers immediately
B. Removes all unused containers, networks, images, and optionally volumes to free disk space
C. Updates Docker to the latest version
D. Creates a backup of all Docker images

Solution

  1. Step 1: Understand the purpose of system prune

    The docker system prune command is designed to clean up unused Docker data like stopped containers, unused networks, dangling images, and optionally volumes.
  2. Step 2: Identify what the command removes

    It removes unused resources to free disk space but does not stop running containers or update Docker.
  3. Final Answer:

    Removes all unused containers, networks, images, and optionally volumes to free disk space -> Option B
  4. Quick Check:

    System prune cleans unused Docker data = A [OK]
Hint: System prune cleans unused Docker data to free space [OK]
Common Mistakes:
  • Thinking it stops running containers
  • Confusing it with Docker update commands
  • Assuming it creates backups
2. Which of the following is the correct syntax to remove all unused images, containers, networks, and volumes with Docker system prune?
easy
A. docker system prune --all --volume
B. docker prune system -a --volumes
C. docker system prune -a --volumes
D. docker system prune -all -volumes

Solution

  1. Step 1: Recall correct Docker system prune syntax

    The correct command to remove all unused images, containers, networks, and volumes is docker system prune -a --volumes. The -a flag removes all unused images, and --volumes removes unused volumes.
  2. Step 2: Identify syntax errors in other options

    Options A, B, and D have incorrect command order or wrong flags like prune system or misspelled flags.
  3. Final Answer:

    docker system prune -a --volumes -> Option C
  4. Quick Check:

    Correct flags and order = C [OK]
Hint: Use '-a' and '--volumes' flags with 'docker system prune' [OK]
Common Mistakes:
  • Swapping 'system' and 'prune' keywords
  • Using incorrect flag names like '--volume'
  • Omitting the dash in flags
3. What will be the output after running docker system prune -a --volumes if you have 2 stopped containers, 3 unused images, 1 unused volume, and 1 unused network?
medium
A. No resources removed because containers are stopped
B. Removed 2 containers and 3 images only
C. Removed only unused volumes
D. Removed 2 containers, 3 images, 1 volume, and 1 network

Solution

  1. Step 1: Understand what the command removes

    The command docker system prune -a --volumes removes all unused containers (including stopped), all unused images, unused volumes, and unused networks.
  2. Step 2: Apply to given resources

    Given 2 stopped containers, 3 unused images, 1 unused volume, and 1 unused network, all will be removed by this command.
  3. Final Answer:

    Removed 2 containers, 3 images, 1 volume, and 1 network -> Option D
  4. Quick Check:

    All unused resources removed = A [OK]
Hint: System prune with '-a' and '--volumes' removes all unused resources [OK]
Common Mistakes:
  • Thinking stopped containers are not removed
  • Assuming volumes are not removed without extra flag
  • Confusing networks with containers
4. You ran docker system prune -a --volumes but received an error: unknown flag: --volumes. What is the likely cause?
medium
A. Docker version is outdated and does not support the --volumes flag
B. You need to run the command as root user
C. The flag should be --volume without 's'
D. You must stop all containers before pruning

Solution

  1. Step 1: Analyze the error message

    The error unknown flag: --volumes indicates Docker does not recognize the flag, likely due to an older Docker version.
  2. Step 2: Check other options

    Running as root is not required for this flag error. The correct flag is --volumes (with 's'), and stopping containers is not mandatory for the flag to work.
  3. Final Answer:

    Docker version is outdated and does not support the --volumes flag -> Option A
  4. Quick Check:

    Flag error means outdated Docker = D [OK]
Hint: Update Docker if flags are unrecognized [OK]
Common Mistakes:
  • Mistaking flag spelling as the cause
  • Assuming root user is required
  • Thinking containers must be stopped first
5. You want to free up disk space but keep volumes because they contain important data. Which command should you run?
hard
A. docker system prune
B. docker system prune -a --volumes
C. docker system prune --volumes
D. docker system prune -all -volumes

Solution

  1. Step 1: Understand volume preservation

    Volumes store important data and are not removed by default with docker system prune. The --volumes flag explicitly removes unused volumes.
  2. Step 2: Choose command that keeps volumes

    Running docker system prune without -a or --volumes removes stopped containers, unused networks, and dangling images but keeps volumes and unused images.
  3. Final Answer:

    docker system prune -> Option A
  4. Quick Check:

    Default prune keeps volumes = B [OK]
Hint: Avoid '--volumes' to keep volumes safe [OK]
Common Mistakes:
  • Using '-a' removes all unused images
  • Adding '--volumes' deletes volumes
  • Assuming default prune removes volumes
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