
答案1
這個答案更多的是補充讓-弗朗索瓦·博尚的回答:
您可以在以下位置找到有關此設定檔的完整文檔Docker 的文檔。
據稱:
--data-root
是儲存持久性資料(例如影像、磁碟區和叢集狀態)的路徑。
和
--exec-root
是容器狀態儲存的路徑。預設值為 /var/run/docker。在此指定正在執行的守護程式的路徑。
因此,如果您想移動容器和映像(以及其他內容),則必須設定這兩個參數。
您還可以創建一個簡單的鏈接,Docker 希望其資料夾重定向到所需的位置。
描述的是這裡並導致相同的結果。它看起來“髒”,但最終它看起來比第一個解決方案更穩定。
使用 WSL 2 引擎(適用於 Windows Home 和 Family Edition)
"D:\\Docker\\data-root"
價值為米格爾建議會使 Docker 崩潰,因為它必須是 WSL 資料夾。
但是,Docker 會建立一個特定的 WSL 發行版,其中包含您的 docker 數據,你可以移動它。這不需要修改dockerd參數。
行動 docker 的 WSL 發行版
wsl --export docker-desktop-data docker-desktop-data.tar
wsl --unregister docker-desktop-data
wsl --import docker-desktop-data X:\wslStore\ docker-desktop-data.tar --version 2
參數X:\wslStore
是您想要「安裝」發行版的路徑,類似D:\Docker\data-root
答案2
答案3
根據以下內容找到其他方法來做到這一點這郵政。
對於 Unix 容器,可以透過 Docker Desktop 介面的設定表單來變更映像的路徑。但如果您使用 Windows 容器功能,則會安裝第二個服務,即「Docker 引擎」。若要變更此服務的影像資料夾,請執行下列步驟:
- 取得設定檔的路徑。前往管理工具->服務。檢查 docker Demon 命令列中的服務“Dock Engine”
命令列是這樣的
“C:\ Program Files \ Docker \ Docker \ Resources \ dockerd.exe”--run-service --service-name docker -G myPc“--config-file C:\ ProgramData \ DockerDesktop \ tmp-d4w \ daemon。 json
- 編輯設定檔
daemon.json
並新增 data-root 屬性。應該看起來像這樣。查看這有關 json 結構的資訊。
{
"registry-mirrors": [],
"insecure-registries": [],
"debug": true,
"experimental": false,
"hosts": [
"npipe:////./pipe/docker_engine_windows"
],
"data-root":"D:\\Docker\\data-root"
}
如有必要,請授予運行帳戶存取該資料夾的權限。
- 重新啟動服務。如果未啟動,請檢查
eventlog
是否有可能的錯誤。
當您變更安裝位置時,c:\ProgramData\Docker 中先前配置的資料將會遺失。這就像新安裝到新位置一樣。 (圖像、容器等)。所有子資料夾將再次建立。
若要保持系統磁碟機上的最低限度,請在全新安裝時執行此操作。
我對這個解決方案不是 100% 確定,但到目前為止,docker 工作正常,系統磁碟機佔用很少。