Windows 安装 Docker Desktop 并自定义安装位置
Docker 作为一款强大的容器化平台,能够极大地简化应用程序的开发、部署和管理流程。在 Windows 系统上安装 Docker Desktop 是许多开发者进行容器化实践的第一步。然而,默认情况下,Docker Desktop 会安装到系统盘(通常是 C 盘),并且容器相关的数据也会存储在 C 盘,这可能会导致 C 盘空间紧张。本文将详细介绍如何在 Windows 系统中安装 Docker Desktop,并将其安装位置以及容器的存储位置自定义到其他磁盘分区,以更好地管理磁盘空间。
二、安装前的准备工作
2.1 系统要求
- 操作系统:Windows 10 64 位版本(建议使用最新的更新版本)或 Windows 11。
- 硬件要求:至少 4GB 内存,以及足够的磁盘空间(建议安装 Docker 的磁盘分区有 20GB 以上的可用空间,用于存储 Docker 安装文件、容器镜像和容器数据等)。
- 虚拟化支持:确保计算机开启了虚拟化技术。对于 Intel 处理器,需要开启 Intel VT-x;对于 AMD 处理器,需要开启 AMD-V。通常可以在计算机的 BIOS 设置中找到相关选项。如果未开启虚拟化,Docker Desktop 将无法正常运行。
2.2 下载 Docker Desktop 安装包
- 打开浏览器,访问 Docker 官方网站的下载页面:https://www.docker.com/products/docker-desktop/ 。
- 在下载页面中,系统会自动检测你的操作系统为 Windows,并提供对应的 Docker Desktop 安装包下载链接。默认情况下,下载的是最新版本的安装包。需要注意的是,有时最新版本可能存在一些兼容性问题或不稳定因素。如果希望安装特定的旧版本,可以前往 Docker 的 Release Note 页面:https://docs.docker.com/desktop/release-notes/ 。在该页面中,可以找到各个版本的详细信息,包括版本号、发布日期和更新内容等。找到你想要安装的版本(例如 v4.23.0),点击右侧对应的 Windows 按钮链接,即可下载指定版本的安装包。
2.3 创建自定义安装目录
在你希望安装 Docker Desktop 的磁盘分区(例如 D 盘或 E 盘)中,创建一个专门用于存放 Docker 相关文件的目录。例如,在 E 盘根目录下创建一个名为 “Docker” 的文件夹(路径为 E:\Docker)。同样,为了存放容器相关的数据,在相同或其他磁盘分区中创建一个合适的目录。例如,在 E 盘的 “Docker” 文件夹下再创建一个名为 “ContainersData” 的子文件夹(路径为 E:\Docker\ContainersData)。请确保创建的目录路径简洁明了,且没有包含特殊字符或空格,以免在后续操作中出现问题。
三、安装 Docker Desktop 并自定义安装位置
3.1 以管理员身份打开命令提示符
- 按下 Win 键 + R 键,打开运行窗口。
- 在运行窗口中输入 “cmd”,然后同时按下 Ctrl+Shift+Enter 组合键。这将以管理员身份打开 Windows 自带的命令提示符(Command Prompt)窗口。以管理员身份运行命令提示符是非常重要的,因为后续执行的创建软链接或使用命令行安装 Docker 的操作需要管理员权限,否则可能会遇到权限不足导致的错误。
3.2 使用软链接方式自定义安装位置(方法一)
- 原理说明:在 Windows 系统中,我们可以通过创建软链接(类似于 Linux 系统中的符号链接)的方式,将 Docker 默认的安装路径(C:\Program Files\Docker)映射到我们自定义的安装路径(例如 E:\Docker)。这样,虽然在安装过程中显示的安装路径仍然是默认的 C 盘路径,但实际上文件会被存储到我们指定的自定义路径中。
- 执行命令:在以管理员身份打开的命令提示符窗口中,输入以下命令:
mklink /j "C:\Program Files\Docker" "E:\Docker"
上述命令中,“mklink” 是创建链接的命令,“/j” 参数表示创建目录链接(符号链接),双引号内的 “C:\Program Files\Docker” 是 Docker 的默认安装路径,“E:\Docker” 是你自定义的安装路径,你可以根据自己的实际情况将 “E:\Docker” 替换为你之前创建的自定义目录路径。
- 注意事项:在执行上述命令之前,请确保自定义的安装路径(例如 E:\Docker)已经存在,并且该目录为空。如果该目录不存在,需要手动创建;如果目录不为空,创建软链接的操作可能会失败,并且可能会导致意外的数据覆盖或冲突。执行命令后,如果成功创建软链接,在 C:\Program Files 目录下会出现一个名为 “Docker” 的文件夹,并且该文件夹会有一个特殊的标记,表示它是一个链接,实际指向的是你自定义的安装路径。
3.3 使用命令行参数方式自定义安装位置(方法二)
- 原理说明:Docker Desktop 的安装包支持通过命令行参数来指定安装位置和其他相关设置。我们可以在运行安装包时,添加特定的参数来实现自定义安装路径和容器数据存储路径。
- 执行命令:在以管理员身份打开的命令提示符窗口中,切换到 Docker Desktop 安装包所在的目录。假设安装包下载到了 “C:\Downloads” 目录,并且安装包名为 “Docker_Desktop_Installer.exe”,则可以使用以下命令切换目录:
cd C:\Downloads
然后,执行以下安装命令:
start /w "" "Docker Desktop Installer.exe" install --accept-license --installation-dir="D:\Programs\Dev\DockerDesktop" --backend=wsl-2 --wsl-default-data-root="E:\VM\Docker\WSL"
上述命令中,“start /w” 表示等待安装程序执行完毕后再返回命令提示符;双引号内的 “Docker_Desktop_Installer.exe” 是安装包的名称,需要根据实际情况进行修改;“--installation-dir="E:\Docker"” 参数指定了 Docker Desktop 的安装位置为 E:\Docker,你可以将其替换为自己的自定义安装路径;“--wsl-default-data-root="E:\Docker\ContainersData"” 参数指定了适用于 WSL(Windows Subsystem for Linux)的容器数据存储根目录为 E:\Docker\ContainersData,同样可以根据自己的需求修改为实际的容器数据存储路径。如果使用的是 Windows 容器,还可以添加 “--windows -containers -default -data -root” 参数来指定 Windows 容器数据的存储位置。
- 注意事项:在执行此命令前,请确保自定义的安装路径和容器数据存储路径都已正确创建,并且具有足够的权限进行读写操作。使用这种方法安装时,安装程序会按照你指定的参数进行安装,安装过程中会显示与正常安装相同的界面,包括安装进度、协议接受等步骤。安装完成后,Docker Desktop 将安装到你指定的自定义路径,并且容器相关的数据也会存储到对应的自定义数据存储路径中。
3.4 开始安装 Docker Desktop
完成上述自定义安装位置的设置后(无论是使用软链接方式还是命令行参数方式),接下来就可以开始安装 Docker Desktop 了。
- 找到下载好的 Docker Desktop 安装包(例如 “Docker_Desktop_Installer.exe”),双击该安装包以启动安装程序。
- 在安装向导界面中,你会看到一些介绍信息和许可协议。仔细阅读许可协议内容,如果同意协议条款,勾选 “我接受许可协议中的条款” 选项,然后点击 “下一步” 按钮。
- 安装程序会开始检测系统环境,包括虚拟化支持、WSL(Windows Subsystem for Linux)状态等。如果系统满足安装要求,安装过程将继续。如果系统缺少某些必要的组件或配置不正确,安装程序可能会提示你进行相应的修复或安装相关组件。例如,如果系统未安装 WSL 2,较新版本的 Docker Desktop 可能会自动提示并引导你安装 WSL 2。按照提示进行操作,完成相关组件的安装或配置。
- 在安装过程中,你可能会看到一些关于安装选项的设置界面,如是否创建桌面快捷方式等。根据自己的需求进行选择,然后继续点击 “下一步” 按钮。安装程序将开始复制文件并进行相关的配置操作,这个过程可能需要一些时间,具体时间取决于计算机的性能和网络状况(如果安装过程中需要下载额外的组件或更新)。
- 安装完成后,会显示安装成功的提示信息。此时,根据提示可能需要重启计算机以使 Docker 的各个安装项(包含 WSL 等)生效。点击 “完成” 按钮,然后重启计算机。
四、设置容器的安装位置
4.1 启动 Docker Desktop
计算机重启后,在桌面上找到 Docker Desktop 的图标,双击该图标启动 Docker Desktop。首次启动时,Docker Desktop 可能需要一些时间来初始化相关服务和组件。启动过程中,系统托盘区会显示 Docker Desktop 的图标,并在图标上显示启动状态的提示信息。等待 Docker Desktop 完全启动,确保系统托盘区的 Docker 图标显示为正常运行状态(通常是一个绿色的鲸鱼图标)。
4.2 进入 Docker Desktop 设置界面
- 右键点击系统托盘区的 Docker Desktop 图标,在弹出的菜单中选择 “Settings”(设置)选项。这将打开 Docker Desktop 的设置窗口,在该窗口中可以对 Docker 的各种参数进行配置,包括容器的安装位置、镜像源、资源分配等。
- 在设置窗口的左侧导航栏中,选择 “Resources”(资源)选项。在 “Resources” 选项下,你可以看到多个子选项,如 “CPUs”、“Memory”、“Disk image size” 等,这些选项用于配置 Docker 运行时使用的系统资源。我们需要关注的是与容器存储位置相关的设置。
4.3 设置容器数据存储位置
- 在 “Resources” 选项下的子选项中,找到 “File sharing”(文件共享)部分。这里列出了当前 Docker Desktop 可以访问的本地磁盘分区。默认情况下,可能只有系统盘(通常是 C 盘)被勾选。为了将容器数据存储到我们之前自定义的路径(例如 E:\Docker\ContainersData),需要确保该路径所在的磁盘分区已在 “File sharing” 中被正确勾选。如果没有勾选,点击对应的磁盘分区(如 E 盘)前面的复选框,将其勾选上,然后点击 “Apply & Restart”(应用并重启)按钮,使设置生效。这一步操作是为了让 Docker Desktop 能够访问我们自定义的容器数据存储路径所在的磁盘分区。
- 在设置窗口的左侧导航栏中,选择 “Docker Engine” 选项。在右侧的设置区域中,你会看到一个 JSON 格式的配置文本框,其中包含了当前 Docker Engine 的配置参数。在这个配置文本框中,找到或添加一个名为 “data-root” 的参数,将其值设置为我们之前自定义的容器数据存储路径,即 “E:\Docker\ContainersData”。例如,如果原配置内容如下:
{ "registry-mirrors": [], "insecure-registries": [], "debug": false, "experimental": false}
修改后应变为:
{ "data-root": "E:\Docker\ContainersData", "registry-mirrors": [], "insecure-registries": [], "debug": false, "experimental": false}
注意,在修改 JSON 格式的配置内容时,要确保语法正确,避免出现逗号缺失、引号不匹配等错误。修改完成后,点击窗口右下角的 “Apply & Restart” 按钮,Docker Desktop 将应用新的配置并重启 Docker Engine,以使容器数据存储位置的更改生效。
五、验证安装和设置结果
5.1 检查 Docker 安装位置
- 打开文件资源管理器,导航到你之前自定义的 Docker 安装路径(例如 E:\Docker)。在该目录下,你应该能够看到 Docker Desktop 安装后的相关文件和文件夹,如 “DockerCli.exe”、“resources” 文件夹等。这表明 Docker Desktop 已经成功安装到了你指定的自定义路径中。
- 对比安装前后系统盘(C 盘)和自定义安装路径所在磁盘分区(例如 E 盘)的磁盘空间占用情况。通过查看磁盘属性(右键点击磁盘图标,选择 “属性”),可以看到安装前和安装后磁盘已用空间和可用空间的变化。正常情况下,安装 Docker Desktop 后,C 盘的空间占用增加应该很少,而自定义安装路径所在磁盘分区的空间占用会相应增加,这进一步验证了 Docker Desktop 安装位置的自定义成功。
5.2 检查容器安装位置
- 启动一个容器来验证容器数据是否存储到了我们设置的自定义位置。例如,可以使用以下命令从 Docker Hub 上拉取并运行一个简单的测试容器(这里以运行一个 Nginx 容器为例):
docker run -d -p 8080:80 --name mynginx nginx
上述命令中,“docker run” 是运行容器的命令;“-d” 参数表示在后台运行容器;“-p 8080:80” 表示将容器的 80 端口映射到主机的 8080 端口,这样可以通过浏览器访问容器内运行的 Nginx 服务;“--name mynginx” 为容器指定一个名称为 “mynginx”;“nginx” 表示要运行的镜像名称,这里会从 Docker Hub 上拉取官方的 Nginx 镜像。
- 容器启动后,打开文件资源管理器,导航到之前设置的容器数据存储路径(例如 E:\Docker\ContainersData)。在该路径下,应该能够看到与运行的容器相关的数据文件和文件夹,例如在 “E:\Docker\ContainersData\docker\volumes” 目录下,可能会生成与 Nginx 容器相关的卷数据文件夹。这表明容器的数据已经成功存储到了我们自定义的位置。
- 可以通过 Docker Desktop 的图形界面来进一步确认容器的运行状态和存储位置。在 Docker Desktop 的界面中,找到正在运行的 “mynginx” 容器,查看其详细信息,在 “Mounts”(挂载)部分应该能够看到容器数据存储路径与我们设置的自定义路径一致。
5.3 验证 Docker 功能
- 打开命令提示符窗口(普通权限即可),输入以下命令查看 Docker 的版本信息:
docker version
如果安装和设置成功,命令行将显示 Docker 客户端和服务器的版本信息,以及其他相关的详细信息,这表明 Docker 已经正常安装并可以在系统中正常运行。
- 尝试使用其他 Docker 命令,如 “docker images” 查看本地已下载的镜像列表,“docker ps” 查看正在运行的容器列表等。通过执行这些命令并得到正确的输出结果,可以进一步验证 Docker 的各项功能是否正常。例如,执行 “docker images” 命令后,应该能够看到之前拉取的 Nginx 镜像的相关信息,包括镜像名称、标签、镜像 ID 和创建时间等。
六、总结
通过本文介绍的步骤,我们成功地在 Windows 系统中安装了 Docker Desktop,并将其安装位置以及容器的存储位置自定义到了其他磁盘分区。在安装过程中,我们介绍了两种自定义安装位置的方法:一种是通过创建软链接将默认安装路径映射到自定义路径;另一种是通过在命令行中使用安装包的参数来指定安装位置和容器数据存储位置。安装完成后,还详细说明了如何在 Docker Desktop 的设置中进一步确认和调整容器的安装位置。合理地自定义 Docker 的安装和存储位置,可以更好地管理磁盘空间,避免系统盘空间不足的问题,同时也有助于提高开发和部署的效率。希望本文能够帮助你顺利完成 Windows 系统上 Docker Desktop 的安装和自定义设置,开启愉快的容器化开发之旅。