Jak zamontować wolumin z hosta Windows do systemu-gościa Windows?
Korzystam z systemu Windows Server 2016 TP4 przy użyciu Dockera.
Zgodnie z dokumentacją na https://docs.docker.com/engine/userguide/containers/dockervolumes/
Jeśli używasz Docker Machine na komputerze Mac lub Windows, demon Docker ma ograniczony dostęp do systemu plików OS X lub Windows. Docker Machine próbuje automatycznie udostępnić katalog / Users (OS X) lub C: \ Users (Windows). Możesz więc montować pliki lub katalogi w systemie OS X za pomocą.
W systemie Windows montuj katalogi, używając:
docker run -v / c / Users / [ścieżka]: / [ścieżka kontenera] ... `
Próbowałem:
docker run --name iisdemo2 -it -p 80:80 -v /c/Users/mlin/meinedaten:/meinedaten iis cmd
co daje mi błąd:
docker : docker: Error response from daemon: Invalid bind mount spec "/c/Users/mlin/meinedaten:/meinedaten": volumeinvalid: Invalid volume specification:
'/c/Users/mlin/meinedaten:/meinedaten'.
Próbowałem także:
docker run --name iisdemo2 -it -p 80:80 -v /c/Users/mlin/meinedaten:/c/meinedaten iis cmd
Zauważ, że ścieżka C: \ meinedaten na gościu / kontenerze już istnieje, co jest wymagane zgodnie z dokumentacją dokera.
Polecenie wygląda dla mnie poprawnie zgodnie z dokumentacją.
(Montowanie woluminów z hosta Mac OS X do kontenera dokującego Ubuntu działa dobrze, mam tylko problemy z Windows.)
Aktualizacja
Próbowałem też używać Windows Containers natywnie (przez Powershell), nie używając Dockera. Postępuję zgodnie z dokumentacją na 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
Ale mam też problemy.
Ostatecznie powiązane tematy:
źródło
Windows 10 Anniversary Update i Windows Server 2016 RTM.
Dodaj wolumin:
Zamontuj katalog hosta:
źródło