2017-05-24 3 views
0

Ich versuche, in einem Befehl zu tun, tun ein Bash von Docker Behälter, offen Mongo und machen Sie eine Anfrage mit so etwas wiemehrere Befehle aus Shell-Container Andockfenster

‚db.test.find ({ }); '

Ich lese von anderen ähnlichen Beitrag ohne Erfolg.

Dies ist der Befehl, den ich ausführe.

docker exec -it mongoDB bash -c 'mongo; Verwendungstest; db.test.find ({}) '

Und das Kommando geben Sie mir, dass

bash: -c: Zeile 0: Syntaxfehler in der Nähe von unerwartetem Token {}'

bash: -c: Zeile 0: Mongo; Verwendungstest; db.test.find ({}) '

Es ist das möglich?

Ich hoffe, dass Sie mir helfen können.

Grüße,

Roth.

Antwort

1

Dies ist tatsächlich möglich, eine Datei zu verwenden, um mehrere Befehle auszuführen. Lege dein Mongo-Skript in eine Datei.

Beispiel:

myFile.js 

Dateiinhalt:

use myDB 
show collections 

Dann können Sie diese Datei ausführen mit

mongo < myFile.js 

In Ihrer Situation:

docker exec -it mongoDB bash -c 'mongo < myFile.js' 

Vergessen Sie nicht, diese Datei in Ihren Andock-Container zu kopieren.

Sie können read more here