Beschreibung
Ich verwende Docker Version 1.12.5 unter Windows 10 über Hyper-V und möchte ausführbare Container-Dateien als Befehle im aktuellen Pfad verwenden. Ich habe ein Docker-Image erstellt, das einwandfrei funktioniert, aber ich habe ein Problem beim Mounten des aktuellen Pfads. Die Idee ist, einen Alias zu erstellen und einen docker run --rm [...]
Befehl auszuführen, damit er systemweit im aktuellen Verzeichnis verwendet werden kann.
Konfiguration
Ich habe ein Laufwerk E mit einem Ordner "test" und dort einen Ordner namens "Ordner auf Windows-Host", um zu zeigen, dass der Befehl funktioniert. Die Docker-Datei erstellt das Verzeichnis /data
und definiert es als VOLUME und WORKDIR.
Als E:\test
aktuelles Verzeichnis in PowerShell und Ausführen des Docker-Befehls mit einem absoluten Pfad kann ich den Inhalt von sehen 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
Problem
Ich möchte das aktuelle Verzeichnis verwenden und keine absolute Notation. Ich konnte pwd im Volume wegen verschiedener Fehlermeldungen nicht verwenden:
Versuchen mit ($ 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'.
Versuch mit / ($ 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'.
Versuch mit \ ´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'.
Versuchen mit "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'.
Wie lautet die korrekte Syntax zum Mounten des aktuellen Verzeichnisses als Volume in Docker unter Windows 10?