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(命令提示符):
- 按下
Win + S
,搜索cmd
。 - 右键点击
命令提示符
,选择 “以管理员身份运行”。
- 按下
-
打开 PowerShell(某些命令可能需要 PowerShell):
- 按下
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 一切正常 🎉!