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.
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
...
Commentaire le plus utile
On dirait que nous devons définir cela dans notre
~/Documents/WindowsPowershell/Microsoft.PowerShell_profile.ps1