docker版本为18.06
windows上安装的docker其实本质上还是借助与windows平台的hyper-v技术来创建一个Linux虚拟机,你执行的所有命令其实都是在这个虚拟机里执行的,所以所有pull到本地的image都会在虚拟机的Virtual hard disks目录的文件中,这个文件就是虚拟硬盘文件。
随着使用增加,C盘存储逐渐不够用,只能将镜像文件迁移到别的盘。
网上有说修改hyper-v管理器,或者修改docker的Settings,但是实践下来并不管用,重启之后又回到原来的目录。
本文通过创建文件链接来实现镜像的迁移,无需修改docker配置。环境为win10
查看docker镜像路径
退出docker
找到镜像文件
将文件复制到想要的路径下,本文路径为D:\app\Hyper-V
删除源文件夹C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks
以管理员运行cmd
创建链接
mklink /J "C:\Users\Public\Documents\Hyper-V\Virtual hard disks" D:\app\Hyper-V
可在源路径看到新建出来的文件夹
启动docker
创建镜像
docker pull centos:latest
如下D盘文件大小发生了变化


![clipboard[1] clipboard[1]](/image/aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTUxMTAxMy8yMDE4MTAvMTUxMTAxMy0yMDE4MTAxNTE3MjEwNjA0NS0xNTg5OTIxMDc5LnBuZw==.png)
![clipboard[2] clipboard[2]](/image/aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTUxMTAxMy8yMDE4MTAvMTUxMTAxMy0yMDE4MTAxNTE3MjEwNzc4OC0yMDIyNjgyNjEyLnBuZw==.png)
![clipboard[3] clipboard[3]](/image/aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTUxMTAxMy8yMDE4MTAvMTUxMTAxMy0yMDE4MTAxNTE3MjExMDIwNC0xNDMzNTI2MjY4LnBuZw==.png)
![clipboard[4] clipboard[4]](/image/aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTUxMTAxMy8yMDE4MTAvMTUxMTAxMy0yMDE4MTAxNTE3MjExMTY5MS0xMjY5ODgzNzMucG5n.png)
![clipboard[5] clipboard[5]](/image/aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTUxMTAxMy8yMDE4MTAvMTUxMTAxMy0yMDE4MTAxNTE3MjExMzE4My0xMTczMDIxMDA1LnBuZw==.png)
![clipboard[6] clipboard[6]](/image/aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTUxMTAxMy8yMDE4MTAvMTUxMTAxMy0yMDE4MTAxNTE3MjExNTM0My05NTQ0NDUxNDEucG5n.png)
![clipboard[7] clipboard[7]](/image/aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTUxMTAxMy8yMDE4MTAvMTUxMTAxMy0yMDE4MTAxNTE3MjExNjg2NC05NTM5NDUzMzYucG5n.png)
![clipboard[8] clipboard[8]](/image/aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTUxMTAxMy8yMDE4MTAvMTUxMTAxMy0yMDE4MTAxNTE3MjExODMxNy0zNTk3ODU1NDYucG5n.png)