1. Hiểu đúng về container trước khi nói đến backup
Một sai lầm rất phổ biến:
“Backup container”
Trong triết lý container:
Container là tạm thời
Có thể xóa và tạo lại bất kỳ lúc nào
Không được thiết kế để lưu dữ liệu lâu dài
📌 Vì vậy:
Không backup container.
Backup những gì container phụ thuộc để chạy.
2. Container Environment gồm những gì?
Một môi trường Docker / container hoàn chỉnh gồm:
Docker Engine
Docker configuration
Image (có thể pull/build lại)
Container (tạm thời)
Volume (dữ liệu)
Cấu hình orchestration
Biến môi trường
Network logic
Backup phải tập trung vào những thành phần không thể tái tạo.
3. Những gì BẮT BUỘC phải backup
3.1. Docker configuration
/etc/docker/daemon.jsonCustom storage driver config
Docker registry config (nếu có)
📌 Ảnh hưởng đến cách Docker vận hành.
3.2. Docker Compose / Orchestration files
docker-compose.yml.envOverride files
Kubernetes YAML (nếu dùng)
📌 Đây là logic triển khai, quan trọng hơn container.
3.3. Docker Volumes (quan trọng nhất)
Volumes chứa:
Database
File upload
Cache quan trọng
Persistent data
Ví dụ:
/var/lib/docker/volumes/*/_data
📌 Mất volume = mất dữ liệu nghiệp vụ.
3.4. Application data ngoài container
Mounted directory
Shared storage
Bind mount data
4. Những gì RẤT NÊN backup
4.1. Image build logic
Dockerfile
Build script
Custom base image info
📌 Không backup image binary, chỉ backup cách tạo image.
4.2. Runtime config
Environment variables
Secret mapping
Port mapping
5. Những gì KHÔNG cần backup
Container filesystem
Docker image đã pull
Cache tạm thời
Log container (trừ yêu cầu audit)
📌 Những thứ này có thể tái tạo.
6. Backup Docker Volume đúng cách
6.1. Nguyên tắc
Backup khi dữ liệu nhất quán
Tránh backup khi DB đang ghi mạnh
Ưu tiên logical backup cho database
6.2. Chiến lược khuyến nghị
Database trong container:
Logical dump (mysqldump, pg_dump)
Lưu ngoài volume
File data:
Rsync / tar volume data
📌 Không snapshot volume DB đang ghi nếu không quiesce.
7. Restore Docker Environment đúng cách
Trình tự khuyến nghị:
Cài Docker Engine
Restore Docker config
Restore compose / orchestration file
Restore volume data
Pull/build image
Up container
Test ứng dụng
📌 Không restore volume trước khi biết container dùng volume đó như thế nào.
8. Docker trong mô hình HA và DR
Trong hệ thống nhiều node:
Container có thể chạy lại ở node khác
Dữ liệu phải độc lập node
Backup giúp:
Dựng lại node mới
Chuyển workload
Phục hồi nhanh khi node chết
9. Sai lầm phổ biến khi backup Docker
Backup toàn bộ
/var/lib/dockerBackup container filesystem
Chỉ backup image, quên volume
Không ghi lại biến môi trường
10. Checklist backup Docker / Container
Bắt buộc
Docker config
Compose / YAML
Volume data
Database logical backup
Rất nên
Dockerfile
Env file
Network config
Container được sinh ra để bị xóa.
Dữ liệu và cấu hình mới là thứ phải sống sót.
Một chiến lược backup Docker đúng:
Không backup container
Backup môi trường để container có thể tái sinh
Backup dữ liệu để nghiệp vụ không mất
- Đăng nhập để gửi ý kiến