修改、刪除 Windows 版 Docker 的資料夾


這邊記錄一下 Windows 版的 Docker 的儲存空間的設定、以及處理。

首先,Windows 版的 Docker 預設的資料儲存路徑,應該是在 C:\ProgramData\Docker 這個位置;其中,設定檔案是在「config」這個路徑下。

而由於 Docker 預設也會將 Docker image、volume 等資料都儲存在這邊,所以如果系統磁碟不夠大的話,其實有的時候可能會被 Docker 的相關檔案撐爆。


修改 Docker 資料儲存路徑

如果要修改 Docker 的資料儲存位置的話,則需要去修改「config」這個目錄下的「daemon.json」檔。

修改方式,就是加入一個「data-root」的項目,指定要使用的路徑就可以了。

最簡單的修改方法,就是在 Docker 的圖形介面中,進入「Settings」的「Docker Engine」的項目,直接修改文字框內的設定檔內容。

像上面的例子,就是告訴 Docker 要把資料儲存在「d:\docker」這個位置。

修改好了之後,只要按下「Apply & Restart」、等待 Docker daemon 重新啟動就可以了。


強制刪除 Docker 的資料

Docker 的資料夾基本上會被設定很奇怪的權限,所以直接用檔案總管並沒有辦法直接進去處理檔案。

而其中,用來儲存 Docker image 的「windowsfilter」資料夾,其結構本身就較為複雜(裡面可能有 Symbolic link 或 junction),導致他基本上難以用正常的操作來把資料夾給刪除。

相關的問題,也可以參考《[Windows] windowsfilter folder impossible to delete》這個 issue。

而目前看來比較方便的解法,應該是透過「docker-ci-zap」這個程式,來把資料刪除了。

他的連結是:https://github.com/moby/docker-ci-zap,老實說,空的有點可怕。

而下載了「docker-ci-zap.exe」這個預先編譯好的執行檔案,就可以透過這個程式,來刪除相關的檔案了~

要執行的話請以管理者權限執行:

docker-ci-zap.exe -folder "C:\ProgramData\docker\windowsfilter"

不過也要注意,這個小程式基本上是會去刪除整個資料夾,就算不是 Docker 的也會去處理,而且不會做額外的確認;所以使用的時候請確認資料夾是正確的,以免誤刪其他資料。


參考:解決無法刪除 dcoker 在 Windows 下的 image 預設目錄 windowsfilter

對「修改、刪除 Windows 版 Docker 的資料夾」的想法

發表留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料