Compose: Fehler beim Mounten des Hostpfads mit Docker für Windows bei Verwendung anderer DOCKER_HOST

Erstellt am 12. Dez. 2016  ·  3Kommentare  ·  Quelle: docker/compose

Wenn Sie ein anderes DOCKER_HOST , schlägt jeder Mount, den Sie in Ihrer docker-compose-Datei angeben, fehl, es sei denn, Sie legen COMPOSE_CONVERT_WINDOWS_PATHS=0 :

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.

Das ist wirklich verwirrend. Das hat früher gut funktioniert.
Ich bin auf 1.9.0 bauen 2585387 .
DOCKER_HOST ist auf einen entfernten Linux-Server eingestellt.
Volumen ist:

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

Funktioniert nur, wenn COMPOSE_CONVERT_WINDOWS_PATHS=0 gesetzt ist oder wenn es auf COMPOSE_CONVERT_WINDOWS_PATHS=1 . Mit anderen Worten, es schlägt nur fehl, wenn COMPOSE_CONVERT_WINDOWS_PATHS ist.

In der Version 1.9.0 erwähnen Sie

Wenn Sie Compose mit Docker Toolbox/Machine unter Windows verwenden, werden Volume-Pfade nicht mehr standardmäßig von C:\Users in /c/Users-style konvertiert. Um diese Konvertierung erneut zu aktivieren, damit Ihre Volumes weiterhin funktionieren, setzen Sie die Umgebungsvariable COMPOSE_CONVERT_WINDOWS_PATHS=1. Benutzer von Docker für Windows sind nicht betroffen und müssen die Variable nicht setzen.

Der letzte Teil Users of Docker for Windows are not affected and do not need to set the variable ist nicht wahr.

grouwindows-client

Hilfreichster Kommentar

Sieht so aus, als müssten wir dies in unserem ~/Documents/WindowsPowershell/Microsoft.PowerShell_profile.ps1 einstellen

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

Alle 3 Kommentare

Vielen Dank für den Bericht.

Zeigt Ihr DOCKER_HOST auf einen entfernten Linux-Server?
Und wenn Sie den Fehler sehen, ist Ihre Variable COMPOSE_CONVERT_WINDOWS_PATHS nicht gesetzt oder auf welchen Wert ist sie gesetzt?
Was passiert schließlich, wenn Sie stattdessen COMPOSE_CONVERT_WINDOWS_PATHS auf 1 ?

@shin- Ja, DOCKER_HOST zeigt auf einen entfernten Linux-Server.
Der Fehler tritt auf, wenn COMPOSE_CONVERT_WINDOWS_PATHS ist. Wenn ich es auf COMPOSE_CONVERT_WINDOWS_PATHS=0 setze (in Powershell $env:COMPOSE_CONVERT_WINDOWS_PATHS=0 ), dann funktioniert es.
Ich hatte es noch nie versucht, aber COMPOSE_CONVERT_WINDOWS_PATHS=1 funktioniert auch. Stelle dir das vor...
Zusammenfassend lässt sich sagen, dass es nur fehlschlägt, wenn COMPOSE_CONVERT_WINDOWS_PATHS ist. Ich werde die Problembeschreibung aktualisieren.

Sieht so aus, als müssten wir dies in unserem ~/Documents/WindowsPowershell/Microsoft.PowerShell_profile.ps1 einstellen

...
$Env:COMPOSE_CONVERT_WINDOWS_PATHS=1
...
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen