Montar un directorio desde el host en boot2docker para Windows

Montar un directorio desde el host en boot2docker para Windows

Estoy ejecutando Docker 1.6 y boot2dockeren una caja de Windows 8.1. Cuando uso el acceso directo de inicio de Boot2Docker, me lleva a un indicador de bash de cygwin donde puedo ejecutar comandos de Docker de forma nativa.

Tengo problemas para montar un directorio desde mi carpeta de usuarios. He intentado:

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

Recibo el error:

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'.

Obtengo los mismos resultados cuando lo llamo de esta manera:

$ 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

También lo intenté:

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

Y me sale el error:

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

Parece que cygwin bash se está reemplazando /y \luego Docker analiza el argumento pasado -vy no puede aceptarlo.

Respuesta1

Si desea montarlo $APPDATAen su máquina host de Windows en /datadirel contenedor de la ventana acoplable, en lugar del siguiente comando:

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

Puedes emitir:

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

//c/Users/PATH_TO_DIR es la clave aquí para el directorio de Windows

Tu $APPDATAdirectorioDEBEreside en el /c/Users/Your_User_Namedirectorio yno puedoresidir en otros lugares. (por ejemplo, D:/$APPDATAen la partición D).

Respuesta2

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

Si está usando git bash en Windows, msysgit convierte rutas como /c/users a c:\users (no es algo que desee porque la ruta dentro de la máquina virtual boot2docker es /c/Users)

En cmd.exe/powershell no deberías tener este problema.

información relacionada