Move docker images directory out of C drive on windows

The simplest solution is to move the directory to the intended location, and then create a directory junction from the old location to the new one:

move C:\ProgramData\Docker D:\mypath\Docker
mklink /j C:\ProgramData\Docker D:\mypath\Docker

this causes Docker to believe that the data is still at C:\ProgramData\Docker, even though it isn't, and it will not take up any space on C:.

You can find a few other solutions at https://github.com/docker/for-win/issues/185 , but it appears that they don't work 100%.


As described in the following article, worked for me in a Windows Server 2019 environment running Docker client and server version 20.10.7.

https://www.ntweekly.com/2019/09/20/how-to-change-docker-storage-data-folder-on-windows-server-2016/

Stop the docker service

stop-service docker

Edit following file, create it if not already there:

C:\ProgramData\Docker\config\daemon.json

Add data-root element to the json string:

{
"data-root": "e:\\DockerData"
}

Restart the service:

restart-service docker

Beware, your images and containers aren't automatically moved to the new location, you need to manually relocate them.