📖 Scenario: Imagine you are running a simple web application inside a Docker container. You want to save user data so it is not lost when the container stops or is removed.
🎯 Goal: Learn how to create a Docker container with a volume to keep data persistent even after the container is deleted.
📋 What You'll Learn
Create a Docker volume named user_data
Run a Docker container named my_app using the busybox image
Mount the user_data volume to /data inside the container
Write a file inside the container's /data directory
Verify the file persists after container removal
💡 Why This Matters
🌍 Real World
Data persistence is critical for applications like databases, web servers, and any service that needs to keep user data safe even if containers restart or are deleted.
💼 Career
Understanding Docker volumes and data persistence is essential for DevOps roles to manage containerized applications reliably in production environments.
Progress0 / 4 steps
1
Create a Docker volume
Create a Docker volume called user_data to store data persistently outside containers.
Docker
Hint
Use the docker volume create command followed by the volume name.
2
Run a container with the volume mounted
Run a Docker container named my_app using the busybox image. Mount the user_data volume to the container's /data directory.
Docker
Hint
Use docker run -dit --name my_app -v user_data:/data busybox to start the container.
3
Write data inside the container
Use docker exec to write the text Hello, persistent world! into a file named /data/message.txt inside the my_app container.
Docker
Hint
Use docker exec my_app sh -c "echo 'Hello, persistent world!' > /data/message.txt" to write the file.
4
Verify data persistence after container removal
Stop and remove the my_app container. Then run a new container named my_app2 with the same user_data volume mounted at /data. Use docker exec to display the contents of /data/message.txt inside my_app2.
Docker
Hint
Use docker stop my_app and docker rm my_app to remove the first container. Then run docker run -dit --name my_app2 -v user_data:/data busybox and docker exec my_app2 cat /data/message.txt to verify the file content.
Practice
(1/5)
1. Why is data persistence important when using Docker containers?
easy
A. Because containers automatically save data to the host system
B. Because data persistence makes containers run faster
C. Because Docker containers never delete data inside them
D. Because containers are temporary and data is lost when they stop
Solution
Step 1: Understand container lifecycle
Docker containers are designed to be temporary and can be stopped or removed easily.
Step 2: Recognize data loss risk
When a container stops or is deleted, any data stored inside it is lost unless persisted externally.
Final Answer:
Because containers are temporary and data is lost when they stop -> Option D
Quick Check:
Temporary containers lose data without persistence [OK]
Hint: Remember: containers reset, so save data outside [OK]
Common Mistakes:
Thinking containers save data automatically
Assuming data inside container is permanent
Confusing persistence with performance
2. Which Docker command option is used to create a persistent data volume?
easy
A. docker run -v /host/path:/container/path
B. docker run --rm
C. docker run --network=host
D. docker run --memory=512m
Solution
Step 1: Identify volume option
The -v or --volume flag maps a host directory to a container directory for persistence.