> 技术文档 > Windows 11 下正确安装 Docker Desktop 到 D 盘的完整教程_win11安装docker到d盘

Windows 11 下正确安装 Docker Desktop 到 D 盘的完整教程_win11安装docker到d盘


文章目录

  • Windows 11 在 D 盘正确安装 Docker Desktop 的完整教程
    • **前言**
    • **准备工作**
      • **1. 手动创建 Docker 相关目录**(⚠️ **这一步非常重要**,否则会报错)
      • **2. 下载 Docker Desktop 安装程序**
      • **3. 使用管理员权限打开终端**
    • **安装 Docker Desktop 到 D 盘**
      • **使用 PowerShell 安全更新 PATH 变量**
    • **最终测试:Docker 是否正常运行**

Windows 11 在 D 盘正确安装 Docker Desktop 的完整教程

如果已经安装Docker Desktop,请使用windows系统设置中的功能卸载掉。
!另外,确保电脑已经安装WSL,我是WSL2,大家可以在网上搜安装教程,我这里就不赘述了。

前言

在 Windows 11 上安装 Docker Desktop 时,我们通常希望将其安装到 D 盘 而不是默认的 C 盘,以节省系统盘空间。然而,Docker Desktop 安装时会默认写入 C 盘,而手动修改安装路径后,可能会遇到 环境变量丢失命令无法识别等问题。

本教程将详细介绍如何在 Windows 11 中 正确安装 Docker Desktop 到 D 盘,并确保 VS Code 和 CLI 端都能正确识别 docker 命令。

准备工作

1. 手动创建 Docker 相关目录(⚠️ 这一步非常重要,否则会报错)

在运行安装命令前,手动打开 D 盘,在 Program Files 文件夹内新建一个 Docker 文件夹,并在 Docker 文件夹内再新建一个 data 文件夹。

  • D:\\Program Files\\Docker:Docker Desktop 的安装目录。
  • D:\\Program Files\\Docker\\data:Docker 用于存储镜像、容器、卷等数据的目录。

注意,一定要严格按照这里的名称建立文件夹!

2. 下载 Docker Desktop 安装程序

从官方链接下载 Docker Desktop 安装程序:点击下载

3. 使用管理员权限打开终端

接下来的所有步骤都需要管理员权限,否则可能会遇到安装失败、权限不足等问题。

  • 打开 CMD(命令提示符)

    1. 按下 Win + S,搜索 cmd
    2. 右键点击 命令提示符,选择 “以管理员身份运行”
  • 打开 PowerShell(某些命令可能需要 PowerShell):

    1. 按下 Win + X,选择 Windows 终端(管理员)Windows PowerShell(管理员)

安装 Docker Desktop 到 D 盘

在管理员 CMD 中,先进入 Docker Desktop Installer.exe 所在的目录

不同浏览器的默认下载目录可能不同,请根据你的情况进入正确的路径:

  • 比如我是:Google Chrome 下载路径
    cd D:\\Chrome Download

然后执行以下安装命令(确保在 CMD 中运行):

start /w \"\" \"Docker Desktop Installer.exe\" install -accept-license --installation-dir=\"D:\\Program Files\\Docker\" --wsl-default-data-root=\"D:\\Program Files\\Docker\\data\" --windows-containers-default-data-root=\"D:\\\\Program Files\\\\Docker\"

命令参数解释

  • --installation-dir=\"D:\\Program Files\\Docker\":指定 Docker Desktop 的安装目录。
  • --wsl-default-data-root=\"D:\\Program Files\\Docker\\data\":指定 WSL 存储 Docker 数据的目录。
  • --windows-containers-default-data-root=\"D:\\\\Program Files\\\\Docker\":双斜杠用于 Windows 容器存储路径。

安装完成后,在 管理员 CMD 中执行以下命令检查 Docker 是否安装成功:

docker version

如果报错:

\'docker\' 不是内部或外部命令,也不是可运行的程序或批处理文件。

说明环境变量没设置好:

原因:Docker 安装后,PATH 变量未正确更新,或者被 setx 截断(Windows 限制 setx 设置的环境变量最大长度为 1024 字符)。

解决方法

使用 PowerShell 安全更新 PATH 变量

Windows setx 命令有 1024 字符限制,我们可以改用 PowerShell 安全更新 PATH

$oldPath = [System.Environment]::GetEnvironmentVariable(\"Path\", [System.EnvironmentVariableTarget]::Machine)$newPath = $oldPath + \";D:\\Program Files\\Docker\\resources\\bin\"[System.Environment]::SetEnvironmentVariable(\"Path\", $newPath, [System.EnvironmentVariableTarget]::Machine)

然后 重启电脑,再测试:

docker version

若成功,则会打印:

C:\\Windows\\System32>docker versionClient: Version:  27.5.1 API version: 1.47 Go version: go1.22.11 Git commit: 9f9e405 Built: Wed Jan 22 13:41:44 2025 OS/Arch:  windows/amd64 Context:  desktop-linux ...(以下省略哈)

若失败,则会打印:

C:\\Windows\\System32>docker versionClient: Version:  27.5.1 API version: 1.47 Go version: go1.22.11 Git commit: 9f9e405 Built: Wed Jan 22 13:41:44 2025 OS/Arch:  windows/amd64 Context:  desktop-linuxerror during connect: Get \"http://%2F%2F.%2Fpipe%2FdockerDesktopLinuxEngine/v1.47/version\": open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified.

失败的原因在于:Docker没有运行

解决方案: 确保 Docker 运行

右键管理员运行Docker Desktop(也就是你桌面的Docker快捷方式)

然后 等待 1~2 分钟,再运行:

docker version

最终测试:Docker 是否正常运行

管理员 CMD 运行一个测试容器,确保 Docker 能正常拉取和运行容器:

docker run hello-world

由于网络原因,一般要多试几次,三四次吧,看我这里前两次的输出,第一次是网络问题没打印成功:

C:\\Windows\\System32>docker run hello-worldUnable to find image \'hello-world:latest\' locallydocker: Error response from daemon: failed to resolve reference \"docker.io/library/hello-world:latest\": failed to authorize: failed to fetch oauth token: Post \"https://auth.docker.io/token\": net/http: TLS handshake timeout.See \'docker run --help\'.C:\\Windows\\System32>docker run hello-worldUnable to find image \'hello-world:latest\' locallylatest: Pulling from library/hello-worlde6590344b1a5: Download completeDigest: sha256:bfbb0cc14f13f9ed1ae86abc2b9f11181dc50d779807ed3a3c5e55a6936dbdd5Status: Downloaded newer image for hello-world:latestHello from Docker!This message shows that your installation appears to be working correctly.

所以,最后如果输出:

Hello from Docker!This message shows that your installation appears to be working correctly....(以下这里我省略哈)

说明 Docker 一切正常 🎉!