Thư mục mặc định mà docker đặt dữ liệu của nó là tại /var/lib/docker. Tại đó chứa tất cả các image, volume, container… Trong một số trường hợp chúng ta sẽ muốn đặt những dữ liệu này tại một vị trí khác. Điều may mắn là docker cho phép chúng ta thực hiện điều này một cách đơn giản và an toàn.
Tắt docker daemon
sudo systemctl stop dockerĐặt cấu hình data-root
Chỉnh sửa tập tin /etc/docker/daemon.json và cập nhật dữ liệu cho khóa data-root:
{
"data-root": "/path/to/your/docker"
}Copy dữ liệu hiện tại tới thư mục mới
Mấu chốt ở đây là dữ lại được umask của các tập tin giống như hiện tại. Chúng ta có thể thực hiện bằng tar/untar, copy -a, hay rsync -aP như dưới đây
sudo rsync -aP /var/lib/docker/ /path/to/your/dockerĐánh dấu thư mục cũ không dùng nữa
sudo mv /var/lib/docker /var/lib/docker.archivedKhởi động lại docker daemon
sudo systemctl start dockerNếu mọi chuyện sau đó đều ổn, chúng ta có thể cân nhắc xóa bỏ thư mục /var/lib/docker.archived.
![]()