2015-11-06 19 views
5

Quando si esegue seguente comando da un CoreOS VM funziona come previsto:finestra mobile run -v non funziona su Windows utilizzando finestra mobile-toolbox

docker run --rm -v $PWD:/data composer init

cosa che farà è inizializzare il file composer.json in la directory di lavoro corrente utilizzando il mapping del volume della finestra mobile come specificato. Il contenitore docker ha fondamentalmente installato il php tool compositore e lo eseguirà all'interno della cartella/data del contenitore. Usando il mapping lo applica effettivamente sui file sul computer host.

Tuttavia, quando si tenta di eseguire questo comando su Windows utilizzando Docker Toolbox, viene visualizzato il seguente errore.

$ docker run --rm -v $PWD:/data composer --help 
invalid value "C:\\Users\\Marco;C:\\Program Files\\Git\\data" for flag -v: bad mount mode specified : \Program Files\Git\data 
See 'C:\ProgramData\Chocolatey\lib\docker\bin\docker.exe run --help'. 

Quello che ho notato qui è anche se sono in git-bash durante l'esecuzione del comando si utilizza ancora percorsi di Windows. Quindi ho provato a seguire (surround con virgolette):

$ "docker run --rm -v $PWD:/data composer --help" 
bash: docker run --rm -v /c/Users/Marco:/data composer --help: No such file or directory 

Ora non è possibile trovare la directory.

Ho anche provato senza la variabile $ PWD, ma questo non fa differenza.

Qualche idea su come farlo funzionare su Windows?

+0

Il mio punto era: non usare il git bash. – VonC

risposta

4

Questo dovrebbe funzionare: $ docker run --rm -v //c/Users/Marco:/data composer --help

+0

Ottimo, funziona! Ma perché? Per me il comportamento è cambiato dopo l'aggiornamento di Docker 1.8.2 alla 1.9.1. Nella 1.8.2 la sintassi/c/Users ... ha funzionato bene. – AronVanAmmers

0

Prova MSYS_NO_PATHCONV=1 docker run ...

Gitbash tenta di convertire il percorso per altri comandi di Windows.