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.archived
Khởi động lại docker daemon
sudo systemctl start docker
Nế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
.