Docker / Windows-Container: So stellen Sie einen Hostordner als Datenvolume unter Windows 2016 ein

22190
Mathias Conradt

Wie mounten Sie ein Volume von einem Windows-Host auf ein Windows-Gastsystem?

Ich bin auf Windows Server 2016 TP4 mit Docker.

Folgen Sie der Dokumentation auf https://docs.docker.com/engine/userguide/containers/dockervolumes/

Wenn Sie Docker Machine unter Mac oder Windows verwenden, hat Ihr Docker-Daemon nur eingeschränkten Zugriff auf Ihr OS X- oder Windows-Dateisystem. Docker Machine versucht, das Verzeichnis / Users (OS X) oder C: \ Users (Windows) automatisch freizugeben. Sie können also Dateien oder Verzeichnisse unter OS X mit einhängen.

Mounten Sie unter Windows Verzeichnisse mit:

Andock-Run -v / c / Users / [Pfad]: / [Containerpfad] ... `

Ich habe es versucht:

docker run --name iisdemo2 -it -p 80:80 -v /c/Users/mlin/meinedaten:/meinedaten iis cmd 

was gibt mir einen fehler:

docker : docker: Error response from daemon: Invalid bind mount spec "/c/Users/mlin/meinedaten:/meinedaten": volumeinvalid: Invalid volume specification:  '/c/Users/mlin/meinedaten:/meinedaten'. 

Ich habe auch versucht:

docker run --name iisdemo2 -it -p 80:80 -v /c/Users/mlin/meinedaten:/c/meinedaten iis cmd 

Beachten Sie, dass der Pfad C: \ meinedaten auf dem Gast / Container bereits vorhanden ist, was gemäß der Docker-Dokumentation erforderlich ist.

Der Befehl sieht für mich laut Dokumentation richtig aus.

Docker / Windows-Container: So stellen Sie einen Hostordner als Datenvolume unter Windows 2016 ein

(Das Mounten von Volumes vom Mac OS X-Host in den Ubuntu-Docker-Container funktioniert einwandfrei. Ich habe nur Probleme mit Windows.)

Aktualisieren

Ich habe auch gerade versucht, Windows-Container nativ (über Powershell) zu verwenden, nicht Docker. Ich folge der Dokumentation auf https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/manage_powershell#create-a-shared-folder .

Add-ContainerSharedFolder -ContainerName mysql2 -SourcePath C:\Users\mlin\meinedaten -DestinationPath C:\meinedaten 

Aber ich bekomme auch Probleme.

Docker / Windows-Container: So stellen Sie einen Hostordner als Datenvolume unter Windows 2016 ein

Eventuell verwandte Themen:

11

2 Antworten auf die Frage

12
Mathias Conradt

Unter Windows müssen die Pfade mit Semantik im Windows-Stil angegeben werden. Sie sollten keinen führenden Schrägstrich vor dem Pfad verwenden.

docker run -v c:\Users\[path]:c:\[containerPath] 
Dies funktioniert nicht, wenn Sie die Ordner mit einem Befehl zum Kopieren oder Hinzufügen erstellt haben. Steve Coleman vor 6 Jahren 0
3
Der_Meister

Windows 10 Anniversary Update und Windows Server 2016 RTM.

Fügen Sie ein Volume hinzu:

docker run -d -v my-named-volume:C:\MyNamedVolume testimage:latest 

Mounten Sie ein Host-Verzeichnis:

docker run -d -v C:\Temp\123:C:\My\Shared\Dir testimage:latest