如何將 docker 映像移到 Windows 中的其他磁碟機

如何將 docker 映像移到 Windows 中的其他磁碟機

我嘗試運行以下命令腳本dockerd在我的工作站中無法辨識。

我的作業系統是windows 10。

這是我第一次接觸docker。

答案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

在適用於 Windows 的 Docker v19.03.8 上,我將該graph參數添加到我的配置中,它對我有用,但顯然,該參數已被棄用,我們現在應該使用它data-rootdata-root的預設值為c:\programdata\docker。請注意,在 JSON 設定檔中,反斜線需要轉義。

在此輸入影像描述

答案3

根據以下內容找到其他方法來做到這一點郵政。

對於 Unix 容器,可以透過 Docker Desktop 介面的設定表單來變更映像的路徑。但如果您使用 Windows 容器功能,則會安裝第二個服務,即「Docker 引擎」。若要變更此服務的影像資料夾,請執行下列步驟:

  1. 取得設定檔的路徑。前往管理工具->服務。檢查 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

  1. 編輯設定檔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" 
}

如有必要,請授予運行帳戶存取該資料夾的權限。

  1. 重新啟動服務。如果未啟動,請檢查eventlog是否有可能的錯誤。

當您變更安裝位置時,c:\ProgramData\Docker 中先前配置的資料將會遺失。這就像新安裝到新位置一樣。 (圖像、容器等)。所有子資料夾將再次建立。

若要保持系統磁碟機上的最低限度,請在全新安裝時執行此操作。

我對這個解決方案不是 100% 確定,但到目前為止,docker 工作正常,系統磁碟機佔用很少。

相關內容