2017-05-14 5 views
1

Ich versuche, Cosmos DB Emulator läuft auf Docker für Windows, aber ich habe kein Glück. Ich verfolge die Befehle hier:Wie starte ich Cosmos DB Emulator auf Docker für Windows?

https://docs.microsoft.com/en-us/azure/documentdb/documentdb-nosql-local-emulator

Im Einzelnen:

md %LOCALAPPDATA%\DocumentDBEmulatorCert 2>nul 
docker run -v %LOCALAPPDATA%\DocumentDBEmulatorCert:c:\DocumentDBEmulator\DocumentDBEmulatorCert -P -t -i mominag/documentdb_emulator 

ich verschiedene Fehler von Docker bin immer mit "invalid binden mount". Der Befehl selbst scheint nicht richtig zu sein, also habe ich versucht, mominag/documentdb_emulator zu microsoft/azure-documentdb-emulator zu ändern, aber das hat nicht funktioniert. Es hilft nicht, dass dies mein erster wirklicher Versuch ist, Docker zu benutzen.

Ich habe auch einen Blick auf die folgenden auf GitHub, die wie die Quelle der Befehle in den Microsoft-Dokumenten aussieht.

https://github.com/Azure/azure-documentdb-emulator-docker

UPDATE: Hier sind die Befehle, die ich leite und die Fehler, die zurückgegeben werden.

PS C:\> md %LOCALAPPDATA%\DocumentDBEmulatorCert 2>nul 
out-file : FileStream was asked to open a device that was not a file. For support for devices like 'com1:' or 'lpt1:', 
call CreateFile, then use the FileStream constructors that take an OS handle as an IntPtr. 
At line:1 char:1 
+ md %LOCALAPPDATA%\DocumentDBEmulatorCert 2>nul 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : OpenError: (:) [Out-File], NotSupportedException 
    + FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.OutFileCommand 

PS C:\> docker run -v %LOCALAPPDATA%\DocumentDBEmulatorCert:c:\DocumentDBEmulator\DocumentDBEmulatorCert -P -t -i docume 
ntdb_emulator 
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: invalid bind mount spec "%LOCALAPPD 
ATA%\\DocumentDBEmulatorCert:c:\\DocumentDBEmulator\\DocumentDBEmulatorCert": invalid volume specification: '%LOCALAPPDA 
TA%\DocumentDBEmulatorCert:c:\DocumentDBEmulator\DocumentDBEmulatorCert'. 
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'. 
PS C:\> 

Wenn ich die 2>nul das Verzeichnis entfernen wird erstellt, aber ich immer noch die gleichen Fehler auf dem Docker Fahrbefehl erhalten.

+2

Ich habe es einfach gemacht und es hat gut funktioniert. Sowohl der ursprüngliche Befehl als auch der "microsoft/azure-documentdb-emulator" funktionierten einwandfrei. Haben Sie docker in den Windows-Modus \ contains gewechselt? – 4c74356b41

+0

Ich hatte nicht auf Windows-Container gewechselt, aber ich tat es einfach und ich bekomme immer noch einen Fehler. Ich werde die Frage mit der spezifischen Fehlermeldung aktualisieren. – user1843640

+0

Ich würde vorschlagen, alle virtuellen Netzwerke zu entfernen und Docker von Grund auf neu zu installieren – 4c74356b41

Antwort

2

Nach Ihrer Beschreibung, ich habe die Befehlszeile über Netz Shell überprüft, fand ich das Verzeichnis nicht korrekt wie folgt erstellt:

enter image description here

Hinweis: Sie %LOCALAPPDATA% mit $env:LOCALAPPDATA ersetzen könnte.

Wenn die folgende Befehlszeile den documentdb Emulator zu starten:

docker run -v %LOCALAPPDATA%\DocumentDBEmulatorCert:c:\DocumentDBEmulator\DocumentDBEmulatorCert -P -t -i mominag/documentdb_emulator 

begegnete ich den folgenden Fehler:

enter image description here

Wenn ich mominag/documentdb_emulator zu microsoft/azure-documentdb-emulator ändern, dann könnte ich meine starten Documentdb-Emulator erfolgreich wie folgt:

enter image description here

+0

ersetzen% LOCALAPPDATA% durch $ env: LOCALAPPDATA beim Erstellen des Verzeichnisses und Ausführen von "Docker Run" hat den Trick. Vielen Dank. – user1843640

Verwandte Themen