Montare una directory dall'host in boot2docker per Windows


11

Sto eseguendo la finestra mobile 1.6 e boot2dockersu una scatola di Windows 8.1. Quando utilizzo il collegamento Avvio Boot2Docker, mi porta a un prompt di Basg cygwin in cui posso eseguire i comandi docker in modo nativo.

Ho problemi a montare una directory dalla cartella dei miei utenti. Ho provato:

$ docker run -d --name abe -v $APPDATA/Bitcoin:/datadir poliver/bitcoin-abe

Ottengo l'errore:

invalid value "C:\\Users\\someone\\AppData\\Roaming/Bitcoin:/datadir"
for flag -v: \Users\someone\AppData\Roaming/Bitcoin:/datadir 
is not an absolute path 
See 'c:\Program Files\Boot2DockeForWindows\docker.exe run --help'.

Ottengo gli stessi risultati quando lo chiamo in questi modi:

$ docker run -d --name abe -v "$APPDATA/Bitcoin":/datadir poliver/bitcoin-abe
$ docker run -d --name abe -v "/c/users/someone/AppData/Roaming/Bitcoin":/datadir poliver/bitcoin-abe
$ docker run -d --name abe -v ~/AppData/Roaming/Bitcoin:/datadir poliver/bitcoin-abe

Ho anche provato:

$ docker run -d --name abe -v ~/APPDATA/Bitcoin:/datadir poliver/bitcoin-abe

E ho ricevuto l'errore:

FATA[0000] Error response from daemon: cannot bind mount volume: ~\AppData\Bitcoin volume paths must be absolute.

Sembra che bash cygwin sta sostituendo /con \e poi finestra mobile analizza l'argomento passato alla -ve non può accettarlo.


Nella mia installazione boot2docker, il comando "ls / c / Users" elenca la mia cartella Windows 8.1 C: \ Users. Devi montare altre posizioni?
Wilson Gibbins,

Posso certamente vedere /c/Usersdalla VM Linux boot2docker (l'host). Ma ho bisogno del Poliver / bitcoin-abe contenitore per montare una cartella specifica dal /c/Usersal /datadirpunto di montaggio sul contenitore.
Paul Oliver,

Inoltre, sembra che si verifichi lo stesso problema, impossibile montare una cartella host. $ docker run -d -v /c/Users/310145787/Desktop/mongo:/data/db mongo invalid value "c:\\Users\\310145787\\Desktop\\mongo;C:\\Program Files (x86)\\Git\\data\\db" for flag -v: \Users\310145787\Desktop\mongo;C:\Program Files (x86)\Git\data\db is not an absolute path
Marco,

Hai trovato una soluzione al tuo problema?
Marco,

Scusa Marco, nessuna soluzione ancora. :(
Paul Oliver,

Risposte:


12

Se si desidera montare il $APPDATAcomputer host Windows /datadirsul contenitore docker, anziché il comando seguente:

docker run -d --name abe -v $APPDATA/Bitcoin:/datadir poliver/bitcoin-abe

Puoi emettere:

docker run -d --name abe -v //c/Users/YOUR_USER_NAME/$APPDATA/Bitcoin:/datadir poliver/bitcoin-abe

//c/Users/PATH_TO_DIR è la chiave qui per la directory di Windows

La tua $APPDATAdirectory DEVE risiedere nella /c/Users/Your_User_Namedirectory e non può risiedere in altri luoghi. (ad es. D:/$APPDATAsulla partizione D.)


6

vedi: https://github.com/docker/docker/issues/12590

Se stai usando git bash su Windows, msysgit converte i percorsi come / c / users in c: \ users (non qualcosa che vuoi perché il percorso all'interno della VM boot2docker è / c / Users)

Su cmd.exe / powershell non dovresti avere questo problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.