For the complete documentation index, see llms.txt. This page is also available as Markdown.

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 docker

Kiểm tra đã dừng:

sudo systemctl status docker

2. Tạo thư mục data-root mới

sudo mkdir -p /mnt/e02/uenv/var/lib/docker

3. 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:

  • -a giữ nguyên quyền

  • -P hiển thị progress

  • dấ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