Docker / Windows Container: como montar uma pasta de host como volume de dados no Windows 2016

10

Como montar um volume do host do Windows para o sistema convidado do Windows?

Estou no Windows Server 2016 TP4 usando o Docker.

Seguindo a documentação sobre link

If you are using Docker Machine on Mac or Windows, your Docker daemon has only limited access to your OS X or Windows filesystem. Docker Machine tries to auto-share your /Users (OS X) or C:\Users (Windows) directory. So, you can mount files or directories on OS X using.

On Windows, mount directories using:

docker run -v /c/Users/[path]:/[container path] ...'

Eu tentei:

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

que me dá um erro:

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

Eu também tentei:

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

Observe que o caminho C: \ meinedaten no guest / container já existe, o que é necessário de acordo com a documentação do docker.

O comando parece correto para mim de acordo com a documentação.

(AmontagemdevolumesdohostdoMacOSXparaocontêinerdockerdoUbuntufuncionabem,estouapenastendoproblemascomoWindows.)

Atualizar

EutambémtenteiusaroWindowsContainersnativamente(viaPowershell),nãousandooDocker.Eusigoadocumentaçãodo link .

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

Mas estou tendo problemas também.

Tópicoseventualmenterelacionados:

por Mathias Conradt 11.03.2016 / 11:04

2 respostas

12

No Windows, os caminhos devem ser especificados usando a semântica no estilo do Windows. Você não deve usar uma barra na frente do caminho.

docker run -v c:\Users\[path]:c:\[containerPath]
    
por 18.03.2016 / 12:39
3

Atualização do Aniversário do Windows 10 e Windows Server 2016 RTM.

Adicione um volume:

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

Monte um diretório de host:

docker run -d -v C:\Temp3:C:\My\Shared\Dir testimage:latest
    
por 05.10.2016 / 16:55