Stop the Docker services: ``` sudo systemctl stop docker sudo systemctl stop docker.socket sudo systemctl stop containerd ``` Copy docker root files to new dir ``` sudo rsync -aP /var/lib/docker/ /some_new_dir ``` Change docker config data-root ``` sudo vi /etc/docker/daemon.json # add or change to { "data-root": "/some_new_dir" } ``` Rename docker root to old ``` sudo mv /var/lib/docker /var/lib/docker.old ``` Start docker service ```sudo systemctl start docker``` Validate the new Docker root location: ``` docker info -f '{{ .DockerRootDir}}' ``` If after start docker containers we got error like: ``` Error response from daemon: error evaluating symlinks from mount source "/var/lib/docker/volumes/.../_data": lstat /var/lib/docker: no such file or directory ``` We need to change configs in containers: ``` #stop docker, see first step. find /some_new_dir -type f -name 'config.v2.json' -exec sed -i 's%/var/lib/docker%/some_new_dir%g' {} \; #start dockers services ``` If everything is ok, remove old docker root ``` sudo rm -rf /var/lib/docker.old ```