Descripción
Estoy usando la versión 1.12.5 de Docker en Windows 10 a través de Hyper-V y quiero usar ejecutables de contenedor como comandos en la ruta actual. Creé una imagen de Docker que funciona bien, pero tengo un problema para montar la ruta actual. La idea es crear un alias y ejecutar un docker run --rm [...]comando para que pueda usarse en todo el sistema en el directorio actual.
Preparar
Tengo una unidad E con una carpeta "prueba" y allí una carpeta llamada "carpeta en el host de Windows" para mostrar que el comando está funcionando. El Dockerfile crea el directorio /data, lo define como VOLUME y WORKDIR.
Teniendo E:\testcomo directorio actual en PowerShell y ejecutando el comando Docker con una ruta absoluta, puedo ver el contenido de E:\test:
PS E:\test> docker run --rm -it -v E:\test:/data mirkohaaser/docker-clitools ls -la
total 0
drwxr-xr-x 2 root root 0 Jan 4 11:45 .
drwxr-xr-x 2 root root 0 Jan 5 12:17 folder on windows host
Problema
Quiero usar el directorio actual y no una notación absoluta. No pude usar pwd en el volumen debido a diferentes mensajes de error:
Probar con ($ pwd)
PS E:\test> docker run --rm -it -v ($pwd):/data mirkohaaser/docker-clitools ls -la
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error parsing reference: ":/data" is not a valid repository/tag.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.
Probar con / ($ pwd)
PS E:\test> docker run --rm -it -v /($pwd):/data mirkohaaser/docker-clitools ls -la
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error parsing reference: "E:\\test" is not a valid repository/tag.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.
Intentando con \ ´pwd \ ´
PS E:\test> docker run --rm -it -v ´$pwd´:/data mirkohaaser/docker-clitools ls -la
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: Invalid bind mount spec "´E:\\test´:/data": invalid mode: /data.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.
Probar con `pwd`
PS E:\test> docker run --rm -it -v `$pwd`:/data mirkohaaser/docker-clitools ls -la
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: create $pwd: "$pwd" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.
¿Cuál es la sintaxis correcta para montar el directorio actual como un volumen en Docker en Windows 10?
