欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一文詳解如何更改Docker鏡像存儲(chǔ)路徑

 更新時(shí)間:2025年08月07日 09:21:59   作者:萬事可愛^  
在Docker中,默認(rèn)情況下鏡像的存儲(chǔ)路徑是在C盤,然而,隨著時(shí)間的推移,您可能會(huì)發(fā)現(xiàn)這個(gè)默認(rèn)路徑占用了大量的磁盤空間,這篇文章主要介紹了如何更改Docker鏡像存儲(chǔ)路徑的相關(guān)資料,需要的朋友可以參考下

背景與痛點(diǎn)

Docker Desktop默認(rèn)將鏡像存儲(chǔ)在C盤的C:\Users\<用戶名>\AppData\Local\Docker\wsl\data路徑下。隨著鏡像和容器數(shù)量增加,C盤空間可能迅速被占滿。本文將通過WSL實(shí)例遷移高級(jí)掛載策略兩種方案,教你安全高效地遷移存儲(chǔ)路徑。

方案一:WSL實(shí)例遷移法(推薦)

適用場(chǎng)景:希望徹底改變存儲(chǔ)位置,適用于所有Windows版本。

一、能找到 docker-desktop-data 時(shí)

1. 確認(rèn)當(dāng)前存儲(chǔ)路徑

  • 打開Docker Desktop → SettingsResourcesAdvanced

  • 記錄當(dāng)前路徑(如C:\Users\admin\AppData\Local\Docker\wsl

  • 進(jìn)入資源管理器,查看data文件夾大?。ㄍǔ资瓽B)

2. 停止Docker服務(wù)

首先需要關(guān)閉Docker Desktop應(yīng)用,然后打開 PowerShell 輸入wsl --list -v查看查看WSL中的運(yùn)行的實(shí)例是否停止,一般情況下關(guān)閉Docker Desktop應(yīng)用,WSL中的運(yùn)行的實(shí)例也會(huì)跟著停止,如下所示:

如果沒有正確停止state會(huì)顯示為running,這是我們則需要輸入如下命令停止實(shí)例

# 關(guān)閉Docker Desktop應(yīng)用
taskkill /f /im Docker.exe

# 終止WSL實(shí)例
wsl --shutdown

停止之后再次輸入wsl --list -v查看進(jìn)程是否被正確關(guān)閉。

3. 導(dǎo)出WSL實(shí)例

# 創(chuàng)建備份目錄(建議非系統(tǒng)盤,我這里選的是D盤)
mkdir D:\docker\backup

# 導(dǎo)出實(shí)例(耗時(shí)取決于數(shù)據(jù)量)
wsl --export docker-desktop-data D:\docker\backup\docker-desktop-data.tar

4. 注銷原有實(shí)例

wsl --unregister docker-desktop-data

5. 導(dǎo)入到新位置

# 創(chuàng)建目標(biāo)目錄
mkdir D:\docker\data

# 導(dǎo)入實(shí)例(必須指定--version 2)
wsl --import docker-desktop-data D:\docker\data D:\docker\backup\docker-desktop-data.tar --version 2
  • docker-desktop-data 為要導(dǎo)入的實(shí)例的名稱,不可修改
  • D:docker\data 新的位置要導(dǎo)入的文件夾
  • D:docker\docker-desktop-data.tar 之前導(dǎo)出備份的實(shí)例

6. 驗(yàn)證遷移結(jié)果

# 檢查WSL實(shí)例狀態(tài)
wsl --list -v

# 啟動(dòng)Docker Desktop
# 進(jìn)入設(shè)置查看存儲(chǔ)路徑是否變?yōu)镈:\docker\data

二、找不到 docker-desktop-data 時(shí)

在某些系統(tǒng)進(jìn)行 wsl 實(shí)例導(dǎo)出時(shí)系統(tǒng)可能會(huì)提示不存在具有所提供名稱的分發(fā),如下所示:

當(dāng)通過 wsl --export 命令操作 docker - desktop - data 分發(fā)報(bào) WSL_E_DISTRO_NOT_FOUND 錯(cuò)誤,說明系統(tǒng)里 WSL 未識(shí)別到名為 docker - desktop - data 的分發(fā),但找到了 docker_data.vhdx 文件時(shí),可按以下思路處理來調(diào)整 Docker 數(shù)據(jù)存儲(chǔ)路徑,本質(zhì)是繞開 WSL 分發(fā)名稱問題,直接遷移虛擬磁盤文件:

優(yōu)先通過 Docker Desktop 內(nèi)置功能遷移數(shù)據(jù)(Settings → Resources → Advanced → Disk image location),而非手動(dòng)復(fù)制 VHDX,減少兼容性問題。如果不行,可以用以下方法

1.確定 docker_data.vhdx 存儲(chǔ)位置

還是在這個(gè)界面我們找到下面這個(gè)位置,復(fù)制到C盤查找 docker_data.vhdx

一般在這個(gè)路徑下面(不同安裝配置可能有差異,以實(shí)際找到的路徑為準(zhǔn) ):

C:\Users\DELL\AppData\Local\Docker\wsl\disk

2.停止 Docker 及 WSL 相關(guān)服務(wù)

  1. 完全退出 Docker Desktop 應(yīng)用(右鍵任務(wù)欄 Docker 圖標(biāo),選擇“退出” )。
  2. 打開 PowerShell(以管理員身份運(yùn)行 ),執(zhí)行 wsl --shutdown ,關(guān)閉所有 WSL 實(shí)例,確保后續(xù)操作時(shí)虛擬磁盤文件未被占用。

3.復(fù)制/移動(dòng)到新路徑

docker_data.vhdx 文件復(fù)制(或剪切,建議先復(fù)制做備份 )到你期望的新存儲(chǔ)路徑,比如 D:\docker\data\docker_data.vhdx ,這一步可能耗時(shí)較久,具體按你本身的數(shù)據(jù)量,且不會(huì)返回結(jié)果,如需驗(yàn)證是否成功,打開文件夾找到你所創(chuàng)建的文件,看里面是否已經(jīng)遷移有 docker_data.vhdx 。

  • 若選擇剪切(移動(dòng)),執(zhí)行命令(在 PowerShell 中 ):
    Move-Item -Path "C:\Users\<你的用戶名>\AppData\Local\Docker\wsl\data\docker_data.vhdx" -Destination "D:\docker\data\docker_data.vhdx"
    
  • 若選擇復(fù)制,執(zhí)行(在 PowerShell 中 ):
    Copy-Item -Path "C:\Users\<你的用戶名>\AppData\Local\Docker\wsl\data\docker_data.vhdx" -Destination "D:\docker\data\docker_data.vhdx"
    

4.重新配置 Docker Desktop 指向新路徑

Docker Desktop 本身不直接支持通過圖形界面“指定虛擬磁盤路徑”,但可通過修改 WSL 分發(fā)的配置來關(guān)聯(lián)新路徑的 docker_data.vhdx

(1). 創(chuàng)建新的 WSL 分發(fā)(關(guān)聯(lián)新虛擬磁盤 )

在 PowerShell 中執(zhí)行以下命令,創(chuàng)建一個(gè)新的 WSL 分發(fā),并讓它使用你遷移后的 docker_data.vhdx 文件:

wsl --import docker-desktop-data "D:\docker\data" "D:\docker\data\docker_data.vhdx" --version 2 --vhd
  • docker-desktop-data:是新創(chuàng)建的 WSL 分發(fā)名稱,盡量與 Docker 預(yù)期的名稱保持一致,方便識(shí)別;
  • "D:\docker\data":是新的存儲(chǔ)路徑(即 docker_data.vhdx 所在的文件夾 );
  • "D:\docker\data\docker_data.vhdx":是遷移后的虛擬磁盤文件路徑;
  • --version 2:指定使用 WSL 2 版本,必須添加,否則 Docker 可能無法正常工作。

(2). 驗(yàn)證 WSL 分發(fā)

執(zhí)行 wsl --list -v ,查看是否出現(xiàn) docker-desktop-data 分發(fā),且狀態(tài)為 Stopped ,路徑為你設(shè)置的 D:\docker\data

5.重啟 Docker Desktop 并驗(yàn)證

  1. 重新打開 Docker Desktop ,等待其自動(dòng)初始化。
  2. 啟動(dòng)后,可通過以下方式驗(yàn)證:
    • 查看 Docker 界面,嘗試啟動(dòng)容器、拉取鏡像,確認(rèn)功能正常;
    • 檢查新存儲(chǔ)路徑(D:\docker\data ),后續(xù) Docker 相關(guān)數(shù)據(jù)會(huì)寫入該目錄,原 C 盤路徑不再增大;
    • 再次執(zhí)行 wsl --list -v ,確認(rèn) docker-desktop-data 分發(fā)狀態(tài)正常(運(yùn)行 Docker 時(shí)可能會(huì)變?yōu)?Running ,停止 Docker 后會(huì)回到 Stopped )。

6.清理舊數(shù)據(jù)(可選)

若遷移成功,且 Docker 工作正常,可刪除原路徑(C:\Users\<你的用戶名>\AppData\Local\Docker\wsl\data )下的舊 docker_data.vhdx 文件(若之前是剪切遷移則無需此步驟 ),釋放 C 盤空間。

關(guān)鍵說明

  • 整個(gè)過程的核心是利用 WSL 的 --import 功能,手動(dòng)創(chuàng)建關(guān)聯(lián)新虛擬磁盤的分發(fā),讓 Docker Desktop 能識(shí)別并使用新路徑的存儲(chǔ)。
  • 操作前務(wù)必備份好 docker_data.vhdx 文件,若遷移過程中文件損壞,可能導(dǎo)致 Docker 數(shù)據(jù)丟失(比如鏡像、容器配置等 )。
  • 不同 Docker 版本、WSL 環(huán)境可能有細(xì)微差異,若遇到問題,可通過重新執(zhí)行 wsl --import 命令調(diào)整,或嘗試卸載重裝 Docker Desktop(需提前備份重要數(shù)據(jù) )。

這樣就繞開了 WSL 分發(fā)名稱找不到的問題,通過直接遷移虛擬磁盤文件并重新關(guān)聯(lián),實(shí)現(xiàn)了更改 Docker 數(shù)據(jù)存儲(chǔ)路徑的目的。

方案二:掛載卷映射法(高級(jí))

適用場(chǎng)景:希望保留原有實(shí)例,僅修改存儲(chǔ)路徑。

1. 創(chuàng)建符號(hào)鏈接(Windows)

# 以管理員身份運(yùn)行PowerShell
New-Item -ItemType SymbolicLink -Path "C:\Users\admin\AppData\Local\Docker\wsl\data" -Target "D:\docker\data"

2. 掛載目錄到WSL(Linux)

# 進(jìn)入WSL終端
sudo mkdir /mnt/docker/data
sudo mount --bind /mnt/wsl/docker-desktop-data /mnt/docker/data

3. 配置自動(dòng)掛載(可選)

# 編輯fstab文件
sudo nano /etc/fstab

# 添加以下行
/mnt/wsl/docker-desktop-data /mnt/docker/data none bind 0 0

關(guān)鍵注意事項(xiàng)

  1. 備份策略

    • 遷移前務(wù)必備份docker-desktop-data.tar
    • 定期使用docker system prune -a清理無效鏡像
  2. 權(quán)限問題

    • 導(dǎo)出/導(dǎo)入命令需管理員權(quán)限
    • 確保目標(biāo)目錄權(quán)限為777(WSL中)
  3. 性能優(yōu)化

    • 優(yōu)先選擇SSD作為存儲(chǔ)盤
    • 調(diào)整WSL資源分配(內(nèi)存/CPU)

驗(yàn)證與調(diào)試

  1. 鏡像完整性檢查

    docker images
    # 確認(rèn)所有鏡像存在
    
  2. 容器啟動(dòng)測(cè)試

    docker run -d --name test nginx
    docker ps
    # 檢查容器狀態(tài)為Up
    
  3. 空間釋放驗(yàn)證

    # 在資源管理器查看C盤空間變化
    

官方資源

總結(jié)

通過本文的兩種方案,你可以安全地將Docker鏡像存儲(chǔ)從C盤遷移到其他磁盤。WSL遷移法適合徹底改變存儲(chǔ)位置,而掛載卷法適合靈活調(diào)整。建議定期清理無效鏡像,并為WSL分配足夠資源以確保性能。在生產(chǎn)環(huán)境中,結(jié)合備份策略和監(jiān)控工具(如Portainer)可進(jìn)一步提升穩(wěn)定性。

常見問題解答

  • Q:遷移后Docker無法啟動(dòng)?
    A:檢查WSL實(shí)例狀態(tài),重新導(dǎo)入備份
  • Q:鏡像文件仍占用C盤空間?
    A:刪除舊實(shí)例殘留文件(C:\Users\<用戶名>\AppData\Local\Docker
  • Q:WSL導(dǎo)出失???
    A:確保目標(biāo)磁盤有足夠空間,以管理員身份運(yùn)行命令

通過遷移存儲(chǔ)路徑管理,你可以充分釋放C盤空間,讓Docker服務(wù)運(yùn)行得更高效穩(wěn)定。

到此這篇關(guān)于如何更改Docker鏡像存儲(chǔ)路徑的文章就介紹到這了,更多相關(guān)Docker鏡像存儲(chǔ)路徑更改內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker搭建jenkins服務(wù)的示例

    docker搭建jenkins服務(wù)的示例

    這篇文章主要介紹了docker搭建jenkins服務(wù)的示例,幫助大家更好的理解和使用docker容器,感興趣的朋友可以了解下
    2020-09-09
  • 如何解決docker容器訪問不了外部網(wǎng)絡(luò)問題

    如何解決docker容器訪問不了外部網(wǎng)絡(luò)問題

    介紹了Docker?bridge網(wǎng)絡(luò)的工作原理,包括虛擬網(wǎng)橋的創(chuàng)建、容器的IP地址分配、IP轉(zhuǎn)發(fā)的作用以及NAT的配置,通過配置IP轉(zhuǎn)發(fā)和NAT規(guī)則,Docker能夠?qū)崿F(xiàn)容器與外部網(wǎng)絡(luò)之間的通信,文章還提供了解決某個(gè)具體問題的步驟
    2024-11-11
  • Docker的四種網(wǎng)絡(luò)模式

    Docker的四種網(wǎng)絡(luò)模式

    這篇文章介紹了Docker的四種網(wǎng)絡(luò)模式,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • 基于Docker搭建Redis一主兩從三哨兵的實(shí)現(xiàn)

    基于Docker搭建Redis一主兩從三哨兵的實(shí)現(xiàn)

    這篇文章主要介紹了基于Docker搭建Redis一主兩從三哨兵的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Docker開啟遠(yuǎn)程訪問的實(shí)現(xiàn)方式

    Docker開啟遠(yuǎn)程訪問的實(shí)現(xiàn)方式

    這篇文章主要介紹了Docker開啟遠(yuǎn)程訪問的實(shí)現(xiàn)方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Centos7下安裝與卸載docker應(yīng)用容器引擎的方法

    Centos7下安裝與卸載docker應(yīng)用容器引擎的方法

    這篇文章主要介紹了Centos7下安裝與卸載docker應(yīng)用容器引擎的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • Docker容器實(shí)戰(zhàn)之鏡像與容器的工作原理

    Docker容器實(shí)戰(zhàn)之鏡像與容器的工作原理

    這篇文章主要介紹了Docker容器實(shí)戰(zhàn)之鏡像與容器,關(guān)于鏡像與容器的工作原理,下面文章將詳細(xì)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • Docker常用命令與小技巧匯總

    Docker常用命令與小技巧匯總

    這篇文章主要給大家介紹了關(guān)于Docker常用命令與小技巧的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Docker具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 利用Dockerfile優(yōu)化Nestjs構(gòu)建鏡像大小詳情

    利用Dockerfile優(yōu)化Nestjs構(gòu)建鏡像大小詳情

    這篇文章主要介紹了利用Dockerfile優(yōu)化Nestjs構(gòu)建鏡像大小詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • Docker如何給Springboot項(xiàng)目動(dòng)態(tài)傳參的實(shí)現(xiàn)方法

    Docker如何給Springboot項(xiàng)目動(dòng)態(tài)傳參的實(shí)現(xiàn)方法

    這篇文章主要介紹了Docker如何給Springboot項(xiàng)目動(dòng)態(tài)傳參的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11

最新評(píng)論