docker-move-data-root
Hướng dẫn chuyển Docker data-root sang /mnt/e02/uenv/var/lib/docker
1. Dừng Docker
Trước khi di chuyển dữ liệu cần dừng Docker để tránh lỗi filesystem.
sudo systemctl stop dockerKiểm tra đã dừng:
sudo systemctl status docker2. Tạo thư mục data-root mới
sudo mkdir -p /mnt/e02/uenv/var/lib/docker3. Copy toàn bộ dữ liệu Docker hiện tại
Sử dụng rsync để giữ nguyên permission, link và metadata.
sudo rsync -aP /var/lib/docker/ /mnt/e02/uenv/var/lib/docker/Giải thích:
-agiữ nguyên quyền-Phiển thị progressdấu
/cuối thư mục rất quan trọng
4. Cấu hình Docker dùng data-root mới
Mở file cấu hình:
Thêm hoặc chỉnh thành:
Nếu file đã có cấu hình khác, chỉ cần thêm "data-root" vào trong {}.
5. Khởi động lại Docker
6. Kiểm tra Docker đã dùng data-root mới
Kết quả mong muốn:
7. Kiểm tra container
Nếu container và image vẫn còn đầy đủ thì việc chuyển thành công.
8. (Tùy chọn) Xóa dữ liệu cũ
Sau khi chạy ổn định, bạn có thể xóa thư mục cũ để giải phóng dung lượng.
Kết quả sau khi chuyển
Docker sẽ ghi dữ liệu vào:
Các thư mục bên trong gồm:
Các mount overlay kiểu bạn thấy trước đó:
sẽ chuyển thành:
💡 Khuyến nghị thêm cho server chạy Docker nhiều container
Ổ /mnt/e02 của bạn còn ~297GB nên rất phù hợp. Tuy nhiên nên kiểm tra filesystem:
Docker tốt nhất chạy trên ext4 hoặc xfs.
Scripts 01_docker_move_data_root.sh
Last updated