Docker Volumes Explained: A Quick Guide¶
Docker containers are temporary by design, but often we need to keep data safe and available between container runs.
This is where Docker volumes come in. Volumes allow you to persist and share data across containers. In this guide, we’ll explore,
Types of Docker volumes: Named Volumes and Bind Mounts
How to create and use them
Types of Docker Volumes¶
There are two main types of Docker volumes,
1. Named Volumes (Un Binded Volume)¶
Docker manages these volumes and stores them in its own storage area, making them ideal for persisting data across containers.
Creating a Named Volumes ¶
docker volume create my_named_volume
Using a Named Volume in a Container¶
docker run -v my_named_volume:/app/data busybox:1.36
2. Bind Mounts (Folder Based)¶
Bind mounts link a specific directory on the host to a container. This gives you control over exactly which files are shared, but it’s less portable.
Using a Bind Mount:
docker run -v /path/to/folder/on/host:/app/data busybox:1.36
Key Differences Between Named Volumes and Bind Mounts¶
Feature |
Named Volumes |
Bind Mounts |
|---|---|---|
Managed By |
Docker |
Host System |
Location |
Docker’s storage directory |
Specific path on the host machine |
Portability |
Highly portable |
Tied to the host environment |
Use Case |
Persistent data across container lifecycles |
Development or when direct host access is needed |
Filtering Containers by Volume
Sometimes you want to find containers using a specific volume.
docker ps -a --filter volume=my_named_volume