You can change where Docker stores its files including volumes by changing one of its startup parameters called --data-root
.
If you’re using systemd for service management, the file is usually located at /lib/systemd/system/docker.service
. Edit the file as such:
# Old - taken from the generated docker.service file in Ubuntu 16.04's docker.io package
ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS
# New
ExecStart=/usr/bin/dockerd --data-root /new_location/ -H fd:// $DOCKER_OPTS
Alternatively, you can edit the Docker daemon configuration file which defaults to /etc/docker/daemon.json
.
Restart the Docker daemon and your volumes will be under /new_location/volumes/{volume_name}/_data
Note: be careful in production and also locally! You also have to move the existing data from /var/lib/docker/
to the new location for your docker install to work as expected.
You can use symlinks from the new location if you want specific folders to be in specific place.