最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文詳解如何更改Docker鏡像存儲路徑

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

背景與痛點

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

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

適用場景:希望徹底改變存儲位置,適用于所有Windows版本。

一、能找到 docker-desktop-data 時

1. 確認當(dāng)前存儲路徑

  • 打開Docker Desktop → SettingsResourcesAdvanced

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

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

2. 停止Docker服務(wù)

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

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

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

# 終止WSL實例
wsl --shutdown

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

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

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

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

4. 注銷原有實例

wsl --unregister docker-desktop-data

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

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

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

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

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

# 啟動Docker Desktop
# 進入設(shè)置查看存儲路徑是否變?yōu)镈:\docker\data

二、找不到 docker-desktop-data 時

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

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

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

1.確定 docker_data.vhdx 存儲位置

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

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

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

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

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

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

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

  • 若選擇剪切(移動),執(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)建一個新的 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ù)期的名稱保持一致,方便識別;
  • "D:\docker\data":是新的存儲路徑(即 docker_data.vhdx 所在的文件夾 );
  • "D:\docker\data\docker_data.vhdx":是遷移后的虛擬磁盤文件路徑;
  • --version 2:指定使用 WSL 2 版本,必須添加,否則 Docker 可能無法正常工作。

(2). 驗證 WSL 分發(fā)

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

5.重啟 Docker Desktop 并驗證

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

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

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

關(guān)鍵說明

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

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

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

適用場景:希望保留原有實例,僅修改存儲路徑。

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

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

2. 掛載目錄到WSL(Linux)

# 進入WSL終端
sudo mkdir /mnt/docker/data
sudo mount --bind /mnt/wsl/docker-desktop-data /mnt/docker/data

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

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

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

關(guān)鍵注意事項

  1. 備份策略

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

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

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

驗證與調(diào)試

  1. 鏡像完整性檢查

    docker images
    # 確認所有鏡像存在
    
  2. 容器啟動測試

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

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

官方資源

總結(jié)

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

常見問題解答

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

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

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

相關(guān)文章

  • 詳解修改docker時區(qū)及docker常用命令

    詳解修改docker時區(qū)及docker常用命令

    這篇文章主要介紹了詳解修改docker時區(qū)及docker常用命令,非常具有實用價值,需要的朋友可以參考下。
    2016-12-12
  • docker設(shè)置了端口映射,不能訪問的解決方案

    docker設(shè)置了端口映射,不能訪問的解決方案

    這篇文章主要介紹了docker設(shè)置了端口映射,不能訪問的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • docker-compose搭建etcd集群的實現(xiàn)(三節(jié)點)

    docker-compose搭建etcd集群的實現(xiàn)(三節(jié)點)

    本文主要介紹了docker-compose搭建etcd集群的實現(xiàn)(三節(jié)點),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 使用Docker容器部署rocketmq單機的全過程

    使用Docker容器部署rocketmq單機的全過程

    這篇文章主要介紹了使用Docker容器部署rocketmq單機,詳細介紹了查詢鏡像拉取鏡像的命令,對Docker部署rocketmq相關(guān)知識感興趣的朋友一起看看吧
    2022-04-04
  • 滾動 docker 中的 nginx 日志思路詳解

    滾動 docker 中的 nginx 日志思路詳解

    Nginx 自己沒有處理日志的滾動問題,本文筆者介紹如何滾動運行在 docker 中的 nginx 日志文件,感興趣的朋友一起看看吧
    2018-08-08
  • Docker安裝oracle數(shù)據(jù)庫最新版教程

    Docker安裝oracle數(shù)據(jù)庫最新版教程

    這篇文章主要介紹了如何在Docker中安裝和配置Oracle?11g數(shù)據(jù)庫,包括安裝Docker、拉取Oracle鏡像、創(chuàng)建容器、進入容器配置、設(shè)置環(huán)境變量、創(chuàng)建軟連接、修改用戶密碼、重啟數(shù)據(jù)庫以及使用Navicat進行連接測試,需要的朋友可以參考下
    2025-02-02
  • Linux/Docker 中使用 System.Drawing.Common 踩坑記錄分享

    Linux/Docker 中使用 System.Drawing.Common 踩坑記錄分享

    這篇文章主要介紹了Linux/Docker 中使用 System.Drawing.Common 踩坑記錄,本文通過兩種方案給大家詳細介紹,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • docker?desktop鏡像遷移詳細步驟

    docker?desktop鏡像遷移詳細步驟

    這篇文章主要介紹了Docker?Desktop從系統(tǒng)盤C盤遷移到其他盤,步驟包括導(dǎo)出、注銷、在新路徑重新導(dǎo)入Docker?Desktop,并更改鏡像存儲路徑,需要的朋友可以參考下
    2025-03-03
  • docker-compose?down命令使用和注意事項詳解

    docker-compose?down命令使用和注意事項詳解

    Docker Compose是一個用于定義和運行多容器Docker應(yīng)用程序的工具,這篇文章主要介紹了docker-compose?down命令使用和注意事項的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-07-07
  • docker使用dockercompose編排一個Hadoop集群方式

    docker使用dockercompose編排一個Hadoop集群方式

    這篇文章主要介紹了docker使用dockercompose編排一個Hadoop集群方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評論

巨鹿县| 霍州市| 涪陵区| 山阴县| 平利县| 防城港市| 新巴尔虎左旗| 郓城县| 故城县| 临猗县| 广水市| 绥德县| 桐庐县| 青冈县| 凭祥市| 黄陵县| 北京市| 塔城市| 龙山县| 吴忠市| 佛坪县| 灵山县| 杂多县| 易门县| 独山县| 浏阳市| 玛曲县| 黎城县| 高陵县| 贡觉县| 遂昌县| 嘉峪关市| 丰顺县| 依安县| 平昌县| 邵武市| 博罗县| 喀喇| 鹤壁市| 锡林浩特市| 鄂托克前旗|