Compose: Error al montar la ruta del host con Docker para Windows al usar diferentes DOCKER_HOST

Creado en 12 dic. 2016  ·  3Comentarios  ·  Fuente: docker/compose

Al usar un DOCKER_HOST , a menos que establezca COMPOSE_CONVERT_WINDOWS_PATHS=0 , cualquier montaje que especifique en su archivo docker-compose fallará con:

ERROR: for db Cannot create container for service db: create <volume>: "<volume>" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed ERROR: Encountered errors while bringing up the project.

Esto es realmente confuso. Esto solía funcionar bien antes.
Estoy en 1.9.0 build 2585387 .
DOCKER_HOST está configurado en un servidor Linux remoto.
Los volúmenes son:

yml volumes: - /opt/data/foo/html/:/var/www/html

Solo funciona cuando se establece COMPOSE_CONVERT_WINDOWS_PATHS=0 o cuando se establece en COMPOSE_CONVERT_WINDOWS_PATHS=1 . En otras palabras, solo falla si COMPOSE_CONVERT_WINDOWS_PATHS está configurado.

En la versión 1.9.0 mencionas que:

Cuando se usa Redactar con Docker Toolbox / Machine en Windows, las rutas de volumen ya no se convierten de C: \ Users al estilo / c / Users de forma predeterminada. Para volver a habilitar esta conversión para que sus volúmenes sigan funcionando, configure la variable de entorno COMPOSE_CONVERT_WINDOWS_PATHS = 1. Los usuarios de Docker para Windows no se ven afectados y no necesitan establecer la variable.

La última parte Users of Docker for Windows are not affected and do not need to set the variable no es cierta.

grouwindows-client

Comentario más útil

Parece que tenemos que configurar esto en nuestro ~/Documents/WindowsPowershell/Microsoft.PowerShell_profile.ps1

...
$Env:COMPOSE_CONVERT_WINDOWS_PATHS=1
...

Todos 3 comentarios

Gracias por el informe.

¿Su DOCKER_HOST apunta a un servidor Linux remoto?
Y cuando vea el error, ¿su variable COMPOSE_CONVERT_WINDOWS_PATHS configurada o en qué valor está configurada?
Finalmente, ¿qué sucede cuando configura COMPOSE_CONVERT_WINDOWS_PATHS en 1 lugar?

@ shin- Sí, DOCKER_HOST apunta a un servidor Linux remoto.
El error ocurre cuando COMPOSE_CONVERT_WINDOWS_PATHS está configurado. Cuando lo configuro en COMPOSE_CONVERT_WINDOWS_PATHS=0 (en powershell $env:COMPOSE_CONVERT_WINDOWS_PATHS=0 ), entonces funciona.
No lo había intentado antes, pero COMPOSE_CONVERT_WINDOWS_PATHS=1 también funciona. Imagínate...
Entonces, resumiendo, solo falla cuando COMPOSE_CONVERT_WINDOWS_PATHS está configurado. Actualizaré la descripción del problema.

Parece que tenemos que configurar esto en nuestro ~/Documents/WindowsPowershell/Microsoft.PowerShell_profile.ps1

...
$Env:COMPOSE_CONVERT_WINDOWS_PATHS=1
...
¿Fue útil esta página
0 / 5 - 0 calificaciones