2017-06-01 3 views
0

I diesen Befehl auf Leitungen Befehle in Windows CMD gefunden:Windows-cmd Andockfenster Befehl Keder

Die „pipe“ leitet die Ausgabe des Programms oder der Befehl zu einem zweiten Programm oder Befehl.

Syntax:

Command1 | Command2 

[Source] (ganz unten)

Doch docker ps -aq | docker start oder eine ähnliche Kombination Fehler nur zurückgibt.

Die einzige funktionierende Kombination zum Starten aller gestoppten Container funktioniert in PowerShell.

docker start $(docker ps -a -q -f "status=exited") 
+1

Powershell ist nicht ganz dasselbe als cmd. Welche Fehler bekommen Sie genau? – vonPryz

+0

Yeap, ich verstehe es nur, dass ich die meiste meiner Arbeit durch CMD, Einschalten Powershell jedes Mal, wenn ich Docker brauche, scheint umständlich. Ich bekomme 'dokcer start' mindestens 1 Argument. ' -> docker ps -aq | docker start – MattJ

+0

Die Fehlermeldung weist darauf hin, dass das docker-Programm nicht von stdin liest und explizite Befehlszeilenparameter angegeben haben muss. – lit

Antwort

0

Sie können pipe into docker containers (-i), aber Sie können nicht über die Pipeline Argumente an die Docker Befehl selbst.

In Power verwenden, um eine Schleife für die Liste gestoppt Container beginnend:

docker ps -a -q -f "status=exited" | ForEach-Object { docker start $_ } 

In CMD eine Schleife verwenden, um eine Liste von gestoppt Behältern zum Starten:

for /f "tokens=*" %i in ('docker ps -a -q -f "status=exited"') do docker start %i 
+0

PowerSheel ist kein Problem :) Ich suche eine Lösung in Windows CMD. – MattJ

+1

@MattJ In CMD machen Sie das gleiche. Siehe aktualisierte Antwort. –

Verwandte Themen