0
0
DockerHow-ToBeginner · 3 min read

How to Use docker run --rm for Automatic Container Cleanup

Use docker run --rm to start a container that is automatically removed when it stops. This option helps keep your system clean by deleting the container and its file system after execution finishes.
📐

Syntax

The basic syntax of docker run --rm is:

  • docker run: Command to start a new container.
  • --rm: Automatically remove the container when it exits.
  • [OPTIONS]: Other optional flags like port mapping or environment variables.
  • IMAGE: The Docker image to run.
  • [COMMAND]: The command to execute inside the container.
bash
docker run --rm [OPTIONS] IMAGE [COMMAND]
💻

Example

This example runs a temporary container using the alpine image to print "Hello, World!" and then automatically removes the container after it finishes.

bash
docker run --rm alpine echo "Hello, World!"
Output
Hello, World!
⚠️

Common Pitfalls

One common mistake is forgetting that --rm removes the container immediately after it stops, so you cannot restart or inspect it later.

Another pitfall is using --rm with containers that run in detached mode (-d), which will cause Docker to remove the container as soon as it stops, often before you can interact with it.

bash
docker run --rm -d alpine sleep 60
# This container will be removed immediately after stopping, so you cannot exec or attach to it.

# Correct way: run without -d if you want to see output or interact

docker run --rm alpine sleep 60
📊

Quick Reference

Use --rm to keep your system clean by removing containers automatically after they exit. Avoid using --rm with detached mode unless you understand the container lifecycle.

OptionDescription
--rmRemove container after it stops
-dRun container in detached mode (background)
-itRun container interactively with a terminal
IMAGEDocker image to run
COMMANDCommand to execute inside the container

Key Takeaways

Use docker run --rm to automatically delete containers after they stop.
Do not combine --rm with detached mode -d unless you want the container removed immediately.
This option helps keep your Docker environment clean by avoiding leftover stopped containers.
You cannot restart or inspect containers removed with --rm after they exit.
Use --rm for short-lived or one-time tasks inside containers.