DockerPlay
1
Chapter 0712 mins • intermediate

Volumes & Data Persistence

Named Volumes vs Bind Mounts & Ephemeral Storage

What You Will Master:

Understand the ephemeral nature of the container writable layer
Create and attach Named Volumes with `docker volume create` and `-v`
Compare Named Volumes vs Host Bind Mounts

Why Containers are Ephemeral

Any file written inside a container lives in its ephemeral read-write layer. If the container is deleted (`docker rm`), all modified files and database records inside that layer are permanently destroyed! To save persistent data, we use **Docker Volumes** or **Bind Mounts**.
Interactive Lab

Create and Mount a Persistent Volume

Create a named volume `db-data` and mount it to a postgres database container.

0/2 Steps Done
Step 1: Create volume named db-data

Run `docker volume create db-data`

Step 2: Run postgres with db-data mounted to /var/lib/postgresql/data

Run `docker run -d --name db -v db-data:/var/lib/postgresql/data postgres:16-alpine`

Chapter Knowledge Check

Take the interactive MCQ test to unlock bonus XP

Sponsor & Resources