So verschieben Sie Docker-Images in Windows auf ein anderes Laufwerk

So verschieben Sie Docker-Images in Windows auf ein anderes Laufwerk

Ich versuche folgendes auszuführenSkriptwird aber dockerdauf meiner Workstation nicht erkannt.

Mein Betriebssystem ist Windows 10. Habe gerade die neueste Version von Docker installiert, nämlich 18.09.2

Dies ist mein erstes Mal mit Docker.

Antwort1

Diese Antwort ist eher eine Ergänzung zuDie Antwort von Jean-François Beauchamp:
Die vollständige Dokumentation zu dieser Konfigurationsdatei finden Sie unterDocker-Dokumentation.

Es ist angegeben :

--data-rootist der Pfad, in dem dauerhafte Daten wie Bilder, Datenträger und Clusterstatus gespeichert werden.

Und

--exec-rootist der Pfad, in dem der Containerstatus gespeichert ist. Der Standardwert ist /var/run/docker. Geben Sie hier den Pfad für Ihren laufenden Daemon an.

Wenn Sie also sowohl Ihre Container als auch Ihre Bilder (und die anderen Dinge) verschieben möchten, müssen Sie beide Parameter festlegen.

Sie können auch einen einfachen Link erstellen, bei dem Docker erwartet, dass sein Ordner an den gewünschten Ort umgeleitet wird.
Es wird beschriebenHierund führen zum selben Ergebnis. Es sieht zwar "schmutzig" aus, sieht aber am Ende stabiler aus als die erste Lösung.


Arbeiten mit der WSL 2-Engine (für Windows Home und Family Editions)

"D:\\Docker\\data-root"Wert alsvorgeschlagen von Miguelstürzt Docker ab, da es sich um einen WSL-Ordner handeln muss.
Docker erstellt jedoch eine spezielle WSL-Distribution, die Ihre Docker-Daten enthält.und du kannst es verschieben. Hierzu ist keine Änderung der Dockerd-Parameter erforderlich.

So verschieben Sie die WSL-Distribution von Docker

 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

Der X:\wslStoreParameter ist der Pfad, in dem Sie Ihre Distro „mounten“ möchten, etwa so:D:\Docker\data-root

Antwort2

Unter Docker v19.03.8 für Windows habe ich den graphParameter zu meiner Konfiguration hinzugefügt und es hat bei mir funktioniert, aber anscheinend ist dieser Parameter veraltet und wir sollten jetzt data-rootstattdessen verwenden. Der Standardwert für data-rootist c:\programdata\docker. Beachten Sie, dass in der JSON-Konfigurationsdatei die Backslashes maskiert werden müssen.

Bildbeschreibung hier eingeben

Antwort3

Finden Sie einen anderen Weg, es zu tun, basierend aufDasPost.

Bei Unix-Containern kann der Pfad für Images über die Docker Desktop-Oberfläche im Einstellungsformular geändert werden. Wenn Sie jedoch die Windows-Containerfunktion verwenden, wird ein zweiter Dienst installiert, die „Docker Engine“. Um den Image-Ordner für diesen Dienst zu ändern, führen Sie die folgenden Schritte aus:

  1. Holen Sie sich den Pfad zur Konfigurationsdatei. Gehen Sie zu Verwaltungstools->Dienste. Überprüfen Sie die Docker-Dämon-Befehlszeile für den Dienst „Dock Engine“.

Bildbeschreibung hier eingeben

Die Befehlszeile sieht etwa so aus:

"C:\Programme\Docker\Docker\Resources\dockerd.exe" --run-service --service-name docker -G myPc" --config-file C:\ProgramData\DockerDesktop\tmp-d4w\daemon.json

  1. Bearbeiten Sie die Konfigurationsdatei daemon.jsonund fügen Sie die Eigenschaft data-root hinzu. Der Eigenschaftswert sollte auf den gewünschten Speicherort zeigen. Sollte ungefähr so ​​aussehen. Überprüfen SieDasfür Informationen zur JSON-Struktur.
{
  "registry-mirrors": [],
  "insecure-registries": [],
  "debug": true,
  "experimental": false,
  "hosts": [
    "npipe:////./pipe/docker_engine_windows"
  ],
  "data-root":"D:\\Docker\\data-root" 
}

Erteilen Sie dem laufenden Konto bei Bedarf die Berechtigung, auf den Ordner zuzugreifen.

  1. Starten Sie den Dienst neu. Wenn er nicht startet, prüfen Sie, eventlogob mögliche Fehler vorliegen.

Zuvor konfigurierte Daten in c:\ProgramData\Docker gehen verloren, wenn Sie den Installationsort ändern. Es ist wie eine Neuinstallation an einem neuen Ort. (Bilder, Container usw.). Alle Unterordner werden erneut erstellt.

Um das Minimum an Speicherplatz auf dem Systemlaufwerk zu sparen, führen Sie dies bei einer Neuinstallation durch.

Ich bin mir bei dieser Lösung nicht hundertprozentig sicher, aber bislang funktioniert Docker einwandfrei und die Belegung des Systemlaufwerks ist gering.

verwandte Informationen