环境

window:10
Docker Desktop Installer.exe

前言

今天安装docker时,发现其默认安装在C盘,并且无法修改安装路径。
后面查阅资料后,发现可以利用软链接的方式来安装到其他目录。

方法一(不推荐)

创建软链接(我实践结果,没有效果,还是占系统盘)

用管理员权限打开cmd,执行如下命令:

mklink /j "C:\Program Files\Docker" "D:\Program Files\Docker"
mklink /j "C:\Users\yutao\AppData\Local\Docker" "E:\Users\yutao\AppData\Local\Docker"
mklink /j "C:\ProgramData\Docker" "D:\ProgramData\Docker"

在cmd中执行情况,如下:

Microsoft Windows [版本 10.0.19042.1706]
(c) Microsoft Corporation。保留所有权利。

C:\WINDOWS\system32>mklink /j "C:\Program Files\Docker" "D:\Program Files\Docker"
为 C:\Program Files\Docker <<===>> D:\Program Files\Docker 创建的联接

C:\WINDOWS\system32>mklink /j "C:\Users\yutao\AppData\Local\Docker" "E:\Users\yutao\AppData\Local\Docker"
为 C:\Users\yutao\AppData\Local\Docker <<===>> E:\Users\yutao\AppData\Local\Docker 创建的联接

C:\WINDOWS\system32>mklink /j "C:\ProgramData\Docker" "D:\ProgramData\Docker"
为 C:\ProgramData\Docker <<===>> D:\ProgramData\Docker 创建的联接

注意点:

  1. 要保证C:\Program Files目录下,没有Docker目录,如果有的话,需要删除。
  2. D:\Program Files\Docker这个目录下中的Docker文件夹,要自己创建。
  3. 然后执行安装,一路点击安装就可以了。

实践证明,上面的做法并没有什么软用,依旧是在C盘下,只是在D盘中有个入口,不占用D盘空间;但是我期望的是不占用C盘空间。所以建议看下面的方法二

下图中,本质那一栏可以看出,符号链接和目录链接其实都只是引用,并不会节省C盘空间。反倒是节省了D盘空间。

docker是默认下载到哪里的 docker只能安装在c盘吗_docker是默认下载到哪里的

方法二:

方法二其实和方法一:不冲突,方法一作用于安装之前(只是没效果),方法二,作用于安装之后。

修改镜像位置

依然方法一不行,改变不了安装位置,那么我们就修改镜像位置。因为镜像也挺大的,很占位置。
我们主要需要移动下面两个文件:

文件1:docker-desktop
文件2:docker-desktop-data
这两个文件存放的位置:%LOCALAPPDATA%/Docker/wsl

移动docker-desktop-data

管理员权限,打开cmd,执行如下命令:

//步骤一:关闭docker

//步骤二:关闭所有发行版
C:\Users\yutao>wsl --shutdown
//查看wsl的状态,是否关闭
C:\WINDOWS\system32>wsl --list -v
  NAME                   STATE           VERSION
* docker-desktop         Stopped         2
  docker-desktop-data    Stopped         2
//步骤三:将docker-desktop-data导出到自己指定的目录(注意,原有的docker images不会一起导出)
C:\Users\yutao>wsl --export docker-desktop-data E:\docker\wsl\docker-desktop-data\docker-desktop-data.tar
//步骤四:注销docker-desktop-data:
C:\Users\yutao>wsl --unregister docker-desktop-data
正在注销...
//步骤五:重新导入docker-desktop-data到要存放的文件夹:指定的挂在目录:E:\docker\wsl\docker-desktop-data\
C:\Users\yutao>wsl --import docker-desktop-data  E:\docker\wsl\docker-desktop-data\ E:\docker\wsl\docker-desktop-data\docker-desktop-data.tar --version 2

推荐使用方法二。方法一,使用软链接的方式,并没有效果。

移动docker-desktop

//步骤一:关闭docker;

//步骤二:关闭所有发行版;上面关过了,就不能重复执行。
C:\Users\yutao>wsl --shutdown
//步骤三:将docker-desktop导出到自己指定的目录
C:\Users\yutao>wsl --export docker-desktop E:\docker\wsl\docker-desktop\docker-desktop.tar
//步骤四:注销docker-desktop:
C:\Users\yutao>wsl --unregister docker-desktop
正在注销...
//步骤五:重新导入docker-desktop-data到要存放的文件夹:指定的挂在目录:E:\docker\wsl\docker-desktop-data\
C:\Users\yutao>wsl --import docker-desktop  E:\docker\wsl\docker-desktop\ E:\docker\wsl\docker-desktop\docker-desktop.tar --version 2

修改镜像

为了拉取公共镜像更快些,可以考虑修改镜像:

1.设置阿里云镜像
阿里云镜像地址:需要自己账号
https://cr.console.aliyun.com/cn-shanghai/instances/mirrors

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://XXXXXX.mirror.aliyuncs.com"]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

2.设置其他国内镜像

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker