Compose: Erreur lors du montage du chemin hôte avec Docker pour Windows lors de l'utilisation de différents DOCKER_HOST

Créé le 12 déc. 2016  ·  3Commentaires  ·  Source: docker/compose

Lorsque vous utilisez un autre DOCKER_HOST , à moins que vous ne définissiez COMPOSE_CONVERT_WINDOWS_PATHS=0 , tout montage que vous spécifiez dans votre fichier docker-compose échouera avec :

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.

C'est vraiment déroutant. Cela fonctionnait bien avant.
Je suis sur 1.9.0 build 2585387 .
DOCKER_HOST est défini sur un serveur Linux distant.
Le volume est :

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

Ne fonctionne que lorsque COMPOSE_CONVERT_WINDOWS_PATHS=0 est défini ou lorsqu'il est défini sur COMPOSE_CONVERT_WINDOWS_PATHS=1 . En d'autres termes, il échoue uniquement si COMPOSE_CONVERT_WINDOWS_PATHS n'est pas défini.

Sur la version 1.9.0, vous mentionnez que :

Lorsque vous utilisez Compose avec Docker Toolbox/Machine sous Windows, les chemins de volume ne sont plus convertis de C:\Users en /c/Users-style par défaut. Pour réactiver cette conversion afin que vos volumes continuent de fonctionner, définissez la variable d'environnement COMPOSE_CONVERT_WINDOWS_PATHS=1. Les utilisateurs de Docker pour Windows ne sont pas affectés et n'ont pas besoin de définir la variable.

La dernière partie Users of Docker for Windows are not affected and do not need to set the variable n'est pas vraie.

grouwindows-client

Commentaire le plus utile

On dirait que nous devons définir cela dans notre ~/Documents/WindowsPowershell/Microsoft.PowerShell_profile.ps1

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

Tous les 3 commentaires

Merci pour le rapport.

Votre DOCKER_HOST pointe-t-il vers un serveur Linux distant ?
Et lorsque vous voyez l'erreur, votre variable COMPOSE_CONVERT_WINDOWS_PATHS n'est-elle pas définie, ou à quelle valeur est-elle définie ?
Enfin, que se passe-t-il lorsque vous définissez COMPOSE_CONVERT_WINDOWS_PATHS sur 1 place ?

@shin- Oui, DOCKER_HOST pointe vers un serveur Linux distant.
L'erreur se produit lorsque COMPOSE_CONVERT_WINDOWS_PATHS n'est pas défini. Lorsque je le mets sur COMPOSE_CONVERT_WINDOWS_PATHS=0 (dans powershell $env:COMPOSE_CONVERT_WINDOWS_PATHS=0 ), cela fonctionne.
Je n'avais pas essayé avant, mais COMPOSE_CONVERT_WINDOWS_PATHS=1 fonctionne aussi. Allez comprendre...
Donc, en résumé, cela n'échoue que lorsque COMPOSE_CONVERT_WINDOWS_PATHS n'est pas défini. Je mettrai à jour la description du problème.

On dirait que nous devons définir cela dans notre ~/Documents/WindowsPowershell/Microsoft.PowerShell_profile.ps1

...
$Env:COMPOSE_CONVERT_WINDOWS_PATHS=1
...
Cette page vous a été utile?
0 / 5 - 0 notes