Estoy ejecutando Docker 1.6 y boot2docker
en 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 -v
y no puede aceptarlo.
Respuesta1
Si desea montarlo $APPDATA
en su máquina host de Windows en /datadir
el 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 $APPDATA
directorioDEBEreside en el /c/Users/Your_User_Name
directorio yno puedoresidir en otros lugares. (por ejemplo, D:/$APPDATA
en 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.