Bạn có biết? Bạn chạy một ứng dụng database trong Docker container, lưu dữ liệu vài tuần. Một ngày đẹp trời, bạn restart container — toàn bộ dữ liệu biến mất! Tại sao? Vì mặc định, dữ liệu trong container chỉ tồn tại khi container sống. Container dừng = dữ liệu mất.
Đây chính là lý do bạn cần Docker Volume — cơ chế lưu trữ dữ liệu bền vững, tồn tại độc lập với vòng đời container.
Docker Volume là gì?
Docker Volume là vùng lưu trữ dữ liệu được quản lý bởi Docker, tồn tại bên ngoài lớp filesystem của container. Ngay cả khi container bị xóa, dữ liệu trong volume vẫn an toàn.
- ✅ Dữ liệu không mất khi container dừng hoặc bị xóa
- ✅ Chia sẻ dữ liệu giữa nhiều container dễ dàng
- ✅ Hiệu năng tốt hơn bind mount trên Linux
- ✅ Được Docker quản lý — backup, migrate đơn giản
- ✅ Hỗ trợ nhiều driver: local, NFS, CIFS, cloud storage
Các loại lưu trữ trong Docker
1. Named Volume (Khối lượng đặt tên)
Loại phổ biến nhất. Docker quản lý hoàn toàn — bạn chỉ cần đặt tên.
# Tạo volume
docker volume create my-data
# Sử dụng volume
docker run -d --name my-app -v my-data:/app/data nginx
2. Bind Mount (Gắn kết thư mục)
Ánh xạ trực tiếp thư mục từ host vào container. Phổ biến trong môi trường development.
# Gắn thư mục host vào container
docker run -d --name my-app -v /home/user/project:/app nginx
3. tmpfs Mount
Lưu dữ liệu trong bộ nhớ RAM — biến mất khi container dừng. Dùng cho dữ liệu nhạy cảm như session, token.
# Lưu dữ liệu trong RAM
docker run -d --tmpfs /app/cache nginx
Dữ liệu bền vững cần được lưu trữ bên ngoài container
0 bình luận
Đang tải bình luận...
Để lại bình luận