Diese question erläutert, wie Sie Docker-Container stoppen, die von einem Image gestartet wurden.Andocken von Andock-Containern nach Image-Namen und kein Fehler, wenn keine Container ausgeführt werden
Aber wenn es keine laufenden Container gibt, bekomme ich den Fehler Docker Stop erfordert ein Minimum von einem Argument. Was bedeutet, dass ich diesen Befehl nicht in einem langen .sh-Skript ausführen kann, ohne dass es bricht.
Wie kann ich diese Befehle ändern, um zu arbeiten, auch wenn keine Ergebnisse gefunden werden?
docker stop $(docker ps -q --filter ancestor="imagname")
docker rm `docker ps -aq` &&
(Ich bin für eine reine Docker Antwort suchen, wenn möglich, nicht ein bash-Test, wie ich meinen Skript über ssh renne so glaube ich nicht, dass ich Zugang zu normalen Skript Tests habe)
Die Antwort in Kampdes Kommentar zu diesem Blogpost gefunden: http://blog.yohanliyanage.com/2015/05/docker-clean-up-after-yourself/. Verwenden Sie einfach xargs mit r, um leere Pipes zu ignorieren: ** docker ps -q --filter ancestor = "imageName" | xargs -r docker stop ** – Richard
Sie sollten Ihre Lösung als Antwort posten und akzeptieren. –