Windows 11 下正確安裝 Docker Desktop 到 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系統設置中的<卸載>功能卸載掉。

前言

在 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 version
Client:Version:           27.5.1API version:       1.47Go version:        go1.22.11Git commit:        9f9e405Built:             Wed Jan 22 13:41:44 2025OS/Arch:           windows/amd64Context:           desktop-linux...(以下省略哈)

若失敗,則會打印:

C:\Windows\System32>docker version
Client:Version:           27.5.1API version:       1.47Go version:        go1.22.11Git commit:        9f9e405Built:             Wed Jan 22 13:41:44 2025OS/Arch:           windows/amd64Context:           desktop-linux
error 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-world
Unable to find image 'hello-world:latest' locally
docker: 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-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
e6590344b1a5: Download complete
Digest: sha256:bfbb0cc14f13f9ed1ae86abc2b9f11181dc50d779807ed3a3c5e55a6936dbdd5
Status: 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 一切正常 🎉!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/72231.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/72231.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/72231.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

版圖自動化連接算法開發 00001 ------ 直接連接兩個給定的坐標點

版圖自動化連接算法開發 00001 ------ 直接連接兩個給定的坐標點 引言正文定義坐標點的類繪圖顯示代碼直接連接兩個坐標點引言 由于人工智能的加速普及,每次手動繪制版圖都會覺得特別繁瑣,作者本人在想可否搞一個自動化連接器件端口的算法,后期可以根據一些設定的限制進行避…

AIP-156 單例資源

編號156原文鏈接AIP-156: Singleton resources狀態批準創建日期2019-05-12更新日期2024-04-15 API有時需要表示在任意上級資源中&#xff0c;始終只存在一個實例的資源。常見的例子是配置對象。 指南 API 可以 定義 單例資源 。單例資源 必須 始終隨上級資源而存在&#xff…

程序詩篇里的靈動筆觸:指針繪就數據的夢幻藍圖(水文,勿三)

大家好啊&#xff0c;我是小象?(?ω?)? 我的博客&#xff1a;Xiao Xiangζ????? 很高興見到大家&#xff0c;希望能夠和大家一起交流學習&#xff0c;共同進步。 這一節我們來學習指針的相關知識&#xff0c;學習內存和地址&#xff0c;指針變量和地址&#xff0c;包…

【實用技巧】RAGFlow+DeepSeek搭建私人Ai助理

前言 滿血版DeepSeek雖然很好用&#xff0c;但仍然有三個主要缺陷&#xff1a; 聯網的DeepSeek無法解決數據安全問題&#xff0c;如果使用&#xff0c;數據將傳輸到其服務器&#xff0c;數據隱私性無法保證。上傳的文件存在限制&#xff0c;無法解決有多個文件的問題。回答的…

Storm實時流式計算系統(全解)——中

storm編程的基本概念-topo-spout-bolt 例如下&#xff1a; storm 編程接口-spout的結構及組件實現 storm編程案例-spout組件-實現 這是我的第一個組件&#xff08;spout組件繼承BaseRichSput&#xff09;所有重寫內部的三個方法&#xff0c;用于接收數據&#xff08;這里數據是…

【tplink】校園網接路由器如何單獨登錄自己的賬號,wan-lan和lan-lan區別

老式路由器TPLINK&#xff0c;接入校園網后一人登錄&#xff0c;所有人都能通過連接此路由器上網&#xff0c;無法解決遂上網搜索&#xff0c;無果&#xff0c;幸而偶然看到一個帖子說要把信號源網線接入路由器lan口&#xff0c;開啟新世界。 一、wan-lan&#xff0c;lan-lan區…

Qt常用控件之旋鈕QDial

旋鈕QDial QDial 表示一個旋鈕控件。 1. QDial屬性 屬性說明value當前數值。minimum最小值。maximum最大值。singleStep按下方向鍵時改變的步長。pageStep按下 pageUp/pageDown 的時候改變的步長。sliderPosition界面上旋鈕顯示的初始位置。tracking外觀是否會跟蹤數值變化&…

微服務筆記 2025/2/15

微服務是一種軟件架構風格&#xff0c;它是以專注于單一職責的很多小型項目為基礎&#xff0c;組合出復雜的大型應用。 微服務是一種架構。 微服務是一種架構。 微服務是一種架構。 以前自己做項目最常用的架構是單體架構。單體項目不適合開發大型項目。 學習微服務技術來解…

7-1JVMCG垃圾回收

一、GC的作用與原理 ?核心功能? 自動識別并回收堆內存中不再被引用的對象&#xff0c;釋放內存空間。 避免手動管理內存的復雜性&#xff08;如C/C中的delete/free操作&#xff09;&#xff0c;降低內存泄漏風險。 ?判斷對象可回收的方法? ?可達性分析算法&#xff1a;…

yunedit-post ,api測試比postman更好

postman應該是大家最熟悉的api測試軟件了&#xff0c;但是由于它是外國軟件&#xff0c;使用它的高端功能注冊和繳費都比較麻煩。生成在線文檔分享也經常無法訪問被攔截掉。 這里可以推薦一下yunedit-post&#xff0c;該有的功能都有。 https://www.yunedit.com/postdetail …

010 rocketmq批量消息

文章目錄 批量消息BatchProducer.javaBatchConsumer.java 批量消息 批量發送可以提?發送性能&#xff0c;但有?定的限制&#xff1a; topic 相同 waitStoreMsgOK 相同 &#xff08;?先我們建設消息的iswaitstoremsgoktrue(默認為true), 如果沒有異常,我們將始終收到"O…

6.6.6 嵌入式SQL

文章目錄 2個核心問題識別SQL語句主語言和SQL通信完整導圖 2個核心問題 SQL語句嵌入高級語言需要解決的2個核心問題是&#xff1a;如何識別嵌入語句&#xff1f;如何讓主語言&#xff08;比如C,C語言&#xff09;和SQL通信&#xff1f; 識別SQL語句 為了識別主語言中嵌入的SQL…

Windows安裝sql server2017

看了下官網的文檔&#xff0c;似乎只有ubuntu18.04可以安裝&#xff0c;其他debian系的都不行&#xff0c;還有通過docker的方式安裝的。 雙擊進入下載的ISO&#xff0c;點擊執行可執行文件&#xff0c;并選擇“是” 不要勾選 警告而已&#xff0c;不必理會 至少勾選這兩…

RuoYi框架介紹,以及如何基于Python使用RuoYi框架

若依框架&#xff08;RuoYi&#xff09;是一款基于Spring Boot和Vue.js的開源快速開發平臺&#xff0c;廣泛應用于企業級應用開發。它提供了豐富的功能模塊和代碼生成工具&#xff0c;幫助開發者快速搭建后臺管理系統。 主要特點 前后端分離&#xff1a;前端采用Vue.js&#x…

從零搭建Tomcat:深入理解Java Web服務器的工作原理

Tomcat是Java生態中最常用的Web服務器之一&#xff0c;廣泛應用于Java Web應用的部署和運行。本文將帶你從零開始搭建一個簡易的Tomcat服務器&#xff0c;深入理解其工作原理&#xff0c;并通過代碼實現一個基本的Servlet容器。 1. Tomcat的基本概念 Tomcat是一個開源的Servl…

京東云DeepSeek-R1模型一鍵部署教程,基于智算GCS【成本2元】

使用京東云智算一鍵部署DeepSeek-R1模型&#xff0c;京東云智算服務AI平臺GCS支持DeepSeek-R1模型預裝環境&#xff0c;支持1.5B、7B、32B及70B參數模型環境&#xff0c;用戶可在GCS中快速啟動&#xff0c;使用ChatbotUI或者Open-WebUI作為用戶界面&#xff0c;進行測試并接入業…

Jenkins 自動打包項目鏡像部署到服務器 ---(前端項目)

Jenkins 新增前端項目Job 指定運行的節點 選擇部署運行的節點標簽&#xff0c;dev標簽對應開發環境 節點的遠程命令執行配置 jenkins完整流程 配置源碼 拉取 Credentials添加 觸發遠程構建 配置后可以支持遠程觸發jenkins構建&#xff08;比如自建的CICD自動化發布平臺&…

7.2 - 定時器之計算脈沖寬度實驗

文章目錄 1 實驗任務2 系統框圖3 軟件設計 1 實驗任務 本實驗任務是通過CPU私有定時器來計算按鍵按下的時間長短。 2 系統框圖 參見7.1。 3 軟件設計 注意事項&#xff1a; 定時器是遞減計數的&#xff0c;需要考慮StartCount&#xff1c;EndCount的情況。 /***********…

雙機熱備旁掛組網實驗

1拓撲圖 2.要求 1 、 SW3 的流量 正常情況下&#xff1a; SW1_VRF-->FW1--->SW1_Public--->R5 故障情況下&#xff1a; SW2_VRF-->FW2--->SW2_Public--->R6 2 、 SW4 的流量 正常情況下&#xff1a; SW2_VRF-->FW2--->SW2_Public--->R6 故障情…

2025春新生培訓數據結構(樹,圖)

教學目標&#xff1a; 1&#xff0c;清楚什么是樹和圖&#xff0c;了解基本概念&#xff0c;并且理解其應用場景 2&#xff0c;掌握一種建圖&#xff08;樹&#xff09;方法 3&#xff0c;掌握圖的dfs和樹的前中后序遍歷 例題與習題 2025NENU新生培訓&#xff08;樹&#…