跳到主內容

Windows 上的 Docker 位置

和現在的許多工程師一樣,我使用 Docker 作為我的開發環境。我有一台裝有Windows Subsystem for Linux (WSL) 的Windows 11 機器,而且我使用適用於 Windows 的 Docker Desktop。我還使用帶有磁碟區的開發人員容器來儲存原始程式碼,以便與我的部落格協同工作,這意味著檔案不是儲存在本機檔案系統上,而是儲存在 Docker 磁碟區中。有時,我需要存取 Docker 磁碟區中的檔案來建立映像。這篇文章將向您展示如何在 Windows 上存取 Docker 磁碟區中的檔案

docker-desktop-volumes.png


首先,本文假設您擁有 Windows(Windows 10 或 Windows 11),並且安裝了 WSL 和 Docker Desktop。如果您尚未安裝 Docker Desktop,則可以從Docker Hub下載它。

Docker 磁碟區位置

更新:2025-01-11:Docker 在v26.1.4版本中更改了磁碟區的位置。

當您在 Windows 上使用 Docker Desktop 時,Docker 磁碟區會儲存在 WSL 檔案系統中。 WSL 檔案系統位於\\wsl$\Windows 檔案系統上。

如果您想查看正在執行的 docker 版本,可以開啟命令提示字元或 Powershell 並執行以下命令。

docker --version
目前 Docker 版本(v26.1.4 及更高版本)永久連結

Docker 磁碟區儲存在 WSL 檔案系統中\\wsl$\docker-desktop\mnt\docker-desktop-disk\data\docker\volumes。您應該會看到在 Docker Desktop 中建立的每個磁碟區的資料夾。注意wsl.localhost不再在路徑中使用。

先前的 Docker 版本(v26.1.3 及更低版本)永久連結

Docker 磁碟區儲存在 WSL 檔案系統中\\wsl.localhost\docker-desktop-data\data\docker\volumes。您應該會看到在 Docker Desktop 中建立的每個磁碟區的資料夾。

這是我的 Docker Desktop 卷的螢幕截圖。

docker-desktop-volumes.png


這是帶有 Docker 磁碟區的 WSL 檔案系統的螢幕截圖。

windows-volumes.png


如您所見,Docker Desktop 捲和 WSL 檔案系統之間存在一對一映射。如果您定期在容器外存取這些卷,您可能需要將資料夾重新命名為更有意義的名稱。

訪問卷

如果您確實經常造訪卷,則可以建立指向卷文件夾的符號連結。為此,請以管理員身份開啟命令提示字元或 Powershell 並執行以下命令。

注意:您可以將變更為C:\Volumes您想要使用的任何資料夾。

命令提示符

版本 26.1.4 及更高版本

mklink /D C:\Volumes \\wsl$\docker-desktop\mnt\docker-desktop-disk\data\docker\volumes

版本 26.1.3 及更低版本

mklink /D C:\Volumes \\wsl.localhost\docker-desktop-data\data\docker\volumes

PowerShell

版本 26.1.4 及更高版本

New-Item -ItemType SymbolicLink -Path "c:\Volumes" -Target "\\wsl$\docker-desktop\mnt\docker-desktop-disk\data\docker\volumes"

版本 26.1.3 及更低版本

New-Item -ItemType SymbolicLink -Path "c:\Volumes" -Target "\\wsl.localhost\docker-desktop-data\data\docker\volumes"

檔案總管永久連結

如果您開啟檔案總管,您應該會在磁碟機Volumes的根目錄中看到一個名為的資料夾C:\。此資料夾是 Docker 磁碟區的符號連結。

Windows 資源管理器 - Linux Docker 桌面捲

包起來

在本文中,您了解了在 Windows 上使用 Docker Desktop 時 Docker 磁碟區的儲存位置。您還學習如何從 Windows 檔案系統存取 Docker 磁碟區並為其建立捷徑。