web-dev-qa-db-fra.com

Docker / conteneur Windows: comment monter un dossier hôte en tant que volume de données sous Windows 2016

Comment monter un volume de Windows Host sur un système invité Windows?

Je suis sur Windows Server 2016 TP4 avec Docker.

Suite à la documentation sur https://docs.docker.com/engine/userguide/containers/dockervolumes/

Si vous utilisez Docker Machine sur Mac ou Windows, votre démon Docker n'a qu'un accès limité à votre système de fichiers OS X ou Windows. Docker Machine essaie de partager automatiquement votre répertoire/Users (OS X) ou C:\Users (Windows). Donc, vous pouvez monter des fichiers ou des répertoires sur OS X en utilisant.

Sous Windows, montez les répertoires à l'aide de:

docker run -v/c/Utilisateurs/[chemin]:/[chemin du conteneur] ... `

J'ai essayé:

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

ce qui me donne une erreur:

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

J'ai aussi essayé:

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

Notez que le chemin C:\meinedaten sur l'invité/le conteneur existe déjà, ce qui est requis selon la documentation de docker.

La commande me semble correcte selon la documentation.

enter image description here

(Le montage de volumes de l'hôte Mac OS X au conteneur de menu fixe Ubuntu fonctionne correctement, je ne fais que rencontrer des problèmes avec Windows.)

Mise à jour

J'ai également juste essayé d'utiliser les conteneurs Windows de manière native (via Powershell), sans utiliser Docker. Je suis la documentation sur 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

Mais je vais avoir des problèmes là aussi.

enter image description here

Sujets éventuellement liés:

14
Mathias Conradt

Sous Windows, les chemins doivent être spécifiés à l'aide d'une sémantique de style Windows. Vous ne devez pas utiliser de barre oblique devant le chemin.

docker run -v c:\Users\[path]:c:\[containerPath]
17
Mathias Conradt

Mise à jour anniversaire Windows 10 et Windows Server 2016 RTM.

Ajouter un volume:

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

Monter un répertoire d'hôte:

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