Das hat unter Windows 7 perfekt funktioniert:
- Richten Sie die Umgebungsvariable MACHINE_STORAGE_PATH als Stammverzeichnis des Speicherorts ein, den Sie für die Docker-Computer / VMs, den Cache usw. verwenden möchten.
- Installieren Sie die Docker Toolbox
- Führen Sie das Docker-Schnellstartterminal aus
Die Docker Toolbox erstellt nun alle Dateien an dem Speicherort, auf den MACHINE_STORAGE_PATH verweist.
AKTUALISIEREN:
Beachten Sie, dass das Erstellen einer neuen VM mit dem neuen Speicherpfad nicht ideal ist, da die Docker Quickstart Terminal-Skripts anscheinend nicht mit etwas funktionieren, das nicht als "Standard" bezeichnet wird.
Wenn sich bereits eine VM im Laufwerk C: befindet, ist es am einfachsten, zu Oracle VirtualBox zu wechseln und die "Standard" -VM zu löschen, die Docker Toolbox zu deinstallieren und C: \ Users \ <Benutzername> zu löschen. docker \, und folgen Sie dann den 3 obigen Schritten.
Hinweis: Die Deinstallation und Neuinstallation der Docker Toolbox ist möglicherweise nicht erforderlich. Aber ich habe nicht ohne getestet.
Aktualisieren
Um auch Docker-Zertifikate zu verschieben, legen Sie die DOCKER_CERT_PATH
Variable so fest, dass sie auf den Pfad des neuen Laufwerks zeigt. Danke an @Nutle für den Tipp.
DOCKER_CERT_PATH
. In meinem Fall (w7 x64) war es genug, um es einzustellen{my_custom_machine_storage_path_link}\certs
.D:\DockerEnv\.docker\machine\machines\default
auch von VirtualBox.xml aus aktualisieren{USER_HOME}.VirtualBox
docker-machine rm default
und erstellen Sie eine neue, nachdem Sie die Umgebungsdaten festgelegt haben.Sie können das
.docker
Verzeichnis auf ein anderes Laufwerk verschieben und einen Verbindungspunkt dazu erstellen.Bitte beachten Sie, dass die reguläre Verknüpfung nicht funktioniert.
Zum Beispiel:
Verschieben Sie das
.docker
Verzeichnis vonC:\Users\username
nachD:\
und Renn:
quelle
mklink /D
auch funktioniert - ich habe es versucht, bevor ich diese Antwort gefunden habe.Seit 2015 gibt es jetzt (Juni 2017) Hyper-V , mit dem Sie definieren können, wo Sie Ihre
VHDX
Dateien haben möchten :Siehe Docker für Windows 1.13.0, 2017-01-19 (stabil) :
Das ändert das
%APPDATA%\Docker\settings.json
mit einer Zeile:Weitere Informationen finden Sie in diesem Thread .
Ursprüngliche Antwort
Derzeit erzwingt Docker-Maschine die Verwendung von
%USERPROFILE%
:Siehe
libmachine/mcnutils/utils.go#L17-L25
Wie in Ausgabe 499 kommentiert :
(Sie können es in PR 1941 implementiert sehen )
Joost Den Boer weist in den Kommentaren darauf hin
quelle
MACHINE_STORAGE_PATH
Umgebungsvariable festzulegen (anstatt die--storage-path
Option zu verwenden), um festzustellen , ob dies einen Unterschied macht.export MACHINE_STORAGE_PATH=F:\user\DevOps\VM\machine
: kein Leerzeichen, keine Anführungszeichen. Aber versuchen Sie es in einer regulären CMD-Sitzung ::set MACHINE_STORAGE_PATH=F:\user\DevOps\VM\machine
wieder kein Leerzeichen, keine Anführungszeichen.Verwenden Sie einfach die VirtualBox-Grafikoberfläche, um die Datei zu verschieben
disk.vmdk
:C:\Users\{myUsername}\.docker\machine\machines\default\disk.vmdk
in einen anderen OrdnerF:\docker-image\
.VirtualBox
,default
VM auswählen und öffnenSettings
.Storage
, Strom auswählendisk.vmdk
und freigeben (oder löschen).Choose Virtual Hard Disk File...
und suchen Sie nach kopierter Datei inF:\docker-image\
File
, wähltVirtual Media Manager...
die alte aus und gibt sie frei oder entfernt siedisk.vmdk
4.
, es ist geschafft!quelle
Geben Sie diese beiden Befehle ein, wenn Sie das Docker-Schnellstartterminal ausführen.
Ich nehme an, Ihr neuer Speicherort ist "D: \ docker" und Ihr neuer Computername ist "docker1".
Dadurch sollte an Ihrem neuen Standort ein neuer Computer mit dem angegebenen Namen erstellt werden.
quelle
Ich konnte die Umgebungsvariablenmethode MACHINE_STORAGE_PATH nicht zum Laufen bringen. Bei der ersten Initialisierung der Maschine wurde immer wieder über fehlende Zertifikate geklagt. Noch unter Windows 7 muss also Docker-Toolbox verwendet werden.
Ich habe das Problem umgangen durch:
quelle
Ich hatte einige Probleme mit den oben genannten Lösungen, aber das hat bei mir funktioniert:
MACHINE_STORAGE_PATH
Umgebungsvariable, die auf das gewünschte Verzeichnis / den gewünschten Ordner verweist..docker
Verzeichnis installiert ..docker
Ordner erstellt wurde, angehalten und aus dem Benutzerverzeichnis entfernt.start.sh
Skript wurde bearbeitet und die Zeile oben hinzugefügt:z.B
quelle
Diese Antwort richtet sich an Benutzer der Docker Toolbox (Windows 10 Home Build 1909, Sie können die folgenden Schritte für die Docker-Installation und die anschließende Standortänderung ausführen. Ich füge keine Bilder hinzu.)
Installieren Sie Docker Toolkit und VM müssen nach der Installation von Docker Toolkit mit Administratorrechten installiert werden (* da Docker Toolkit auch VM installiert, diese jedoch eine niedrigere Version hat und ein Problem mit anderen ISO-Dateien verursacht, können Sie in diesem Fall auch das Kontrollkästchen deaktivieren, *) . Jetzt müssen wir den Speicherort von disk.vmdk ändern und den neuen Speicherort in VM aktualisieren.
VirtualBox.exe
( nicht das Installationsprogramm ) vorhanden ist, und klicken Sie mit der rechten Maustaste darauf (Sie finden es über die auf Ihrem Desktop erstellte Verknüpfung).run this program as administrator
Kitematic
Option aus. Wenn dies fehlschlägt (wahrscheinlich), wählen Sie die für die VM bereitgestellte Option aus (es sind nur 2 Optionen vorhanden).Ändern des Speicherorts, an dem Bilder heruntergeladen werden
default
(Rechtsklick -> Schließen -> Ausschalten).disk.vmdk
Datei (für mich ist sie vorhandenC:\Users\Dell\.docker\machine\machines\default\disk.vmdk
) an einen Ort ein, an dem Sie Ihre heruntergeladenen Bilder speichern möchten (im Grundedisk.vmdk
nimmt die Größe zu, wenn Sie Docker verwenden).default
Bild und gehen Sie zu den Einstellungendisk.vmdk
Anhang, indem Sie mit der rechten Maustaste auf -> Entfernen klicken (das war der ältere Pfad, der an disk.vmdk gebunden wurde).file
->virtual media manager
und entfernen Sie auchdisk.vmdk
von hier (Jetzt weiß VM nicht, ob eine solche disk.vmdk-Sache existiert).default
Bild -> Speicher ->add hard disk
(diese Option befindet sich direkt über dem ISO-Bild).disk.vmdk
dass Sie irgendwo eingefügt habendocker run hello-world
Ich habe ab der Installation eine sehr beschreibende Antwort geschrieben, weil ich auf einige Probleme gestoßen bin und sie daher für die anderen sehr einfach machen wollte.
Sie können Ihre disk.vmdk-Festplatte (ältere) von Ihrem C-Laufwerk löschen, wenn Sie möchten
quelle
Erstellen Sie eine Datei mit dem Namen c: \ programdata \ docker \ config \ daemon.json mit dem folgenden Inhalt, wobei e: \ images der Speicherort ist, an dem Sie alle Ihre Bilder usw. speichern möchten. Starten Sie Docker neu.
{"graph": "e: \\ images"}
Das hat wie ein Zauber funktioniert
Referenz - https://forums.docker.com/t/where-are-images-stored/9794/11
quelle
Diese Antworten sind ab der neuesten Version veraltet. Der Speicherort kann in der Benutzeroberfläche Einstellungen konfiguriert werden.
https://github.com/docker/for-win/issues/333
quelle
Ich fand, dass viele dieser Antworten keine Daten mehr enthielten, zumindest funktionierten sie in meiner Umgebung nicht: win10 PRO, Docker Desktop Community 2.0.0.3. Schließlich habe ich dieses Problem mit folgender Methode gelöst:
Docker deinstallieren
Öffnen Sie den Hyper-V-Manager (drücken Sie die WIN-Taste und geben Sie "Hyper" ein.)
Ändern Sie die Standardspeicherorte für virtuelle Festplatten in den Hyper-V- Einstellungen (nicht in den VM-Einstellungen) und bestätigen Sie
Docker installieren
Überprüfen Sie den Speicherort des Disk-Images in den erweiterten Optionen der Docker-Einstellungen
quelle
Ich verwende Windows 10 und Docker Desktop (Community) Version 2.0.0.0. Ich möchte die VHDX-Datei auf ein anderes Laufwerk verschieben.
Klicken Sie mit der rechten Maustaste auf Docker Desktop -> Einstellungen, dann wird die Docker Desktop-Benutzeroberfläche geöffnet. Gehen Sie zu Erweitert -> Speicherort des Datenträgerabbilds. Ändern Sie einfach den Pfad zum neuen Ziel. Der gesamte Vorgang verlief für mich reibungslos und schnell. Die vhdx-Datei wird automatisch vom ursprünglichen Pfad kopiert auf neuen Pfad Docker neu starten und alle funktionieren wie erwartet
quelle