起因
Windows 裡使用 WSL 2 的 Docker 資料預設在 C 槽,不知不覺間就被塞爆了,我們來將它移到其他槽。
先輸入 wsl -l -v
指令來看一下會有什麼:
1 2 3 4
| > wsl -l -v NAME STATE VERSION * docker-desktop Stopped 2 docker-desktop-data Stopped 2
|
docker-desktop:docker 的系統和資料
docker-desktop-data:各 container, image(這個最重要,當然 volume 也是)
後續我們先關閉 Docker,停止運行那些東東、匯出備份,最後在新的位置還原就可以了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| # 終止運行 > wsl -t docker-desktop > wsl -t docker-desktop-data
# 匯出備份 > wsl --export docker-desktop D:\wsl\docker-desktop-20230101.tar > wsl --export docker-desktop-data D:\wsl\docker-desktop-data-20230101.tar
# 註銷 > wsl --unregister docker-desktop > wsl --unregister docker-desktop-data
# 從備份匯入 > wsl --import docker-desktop D:\wsl\docker-desktop D:\wsl\docker-desktop-20230101.tar --version 2 > wsl --import docker-desktop-data D:\wsl\docker-desktop-data D:\wsl\docker-desktop-data-20230101.tar --version 2
# 完成
|
匯出的備份檔可以留著,以防出意外還可以還原回來。這是親身經歷過,之前嘗試安裝 Elastic APM,結果 Docker 當機,重開 Docker 後整個 Docker 就壞了,docker-desktop 內的虛擬硬碟直接消失。幸好 docker-desktop-data 和 volume 還在,保住資料,用這個辦法將現有資料掛回去。
參考