Ich habe ein Problem beim Speichern der Ausgabe von docker run -it -d -p 43211:3000 --name appname -h hostname -v $PWD/local_dir:/root/remote_dir repo/imagename
in einer BASH-Variable. Ich versuchte `backticks ', ich versuchte es auch wie die offizielle Dokumentation sagen BASH_VAR=$(docker run ...)
, ich versuchte sogar, die Ausgabe in einer Datei mit docker run --...>$FILE_DESCRIPTOR
zu speichern, aber kein Glück, die Fehlersituation zu speichern, die Situation, wenn der Name bereits von einem anderen Container verwendet wird, so wie:Store `docker run` Befehlsausgabe in BASH-Variable
$ FATA[0000] Error response from daemon: Conflict. The name "appname" is already in use by container 7c84d8d703c8. You have to delete (or rename) that container to be able to reuse that name.
möchte ich sagen, dass es für den Erfolg Situation funktioniert, also bin ich in BASH_VAR
die volle Container-ID speichern können, auf die Anwendung erfolgreich ausgeführt wird, aber leider löst dieses Problem nur die Hälfte das Problem, vor dem ich stehe.
Jede Hilfe wäre willkommen.
Danke!
tut 'output = $ (Docker run -es 43211 -p -d: 3000 --Name Anwendungsname -h Hostname -v $ PWD/lokales_Dir:/root/remote_dir Repo/Image-Name 2> & 1) 'Arbeit für Sie? '2> & 1' leitet stderr nach stdout um. – hek2mgl
Danke, lieber Herr! Ja, @ kek2mgl, es hat wie ein Zauber funktioniert! Der Grund, warum ich das brauche, ist, weil ich ein interaktives Docker-Container-Management-Bash-Skript mit [Dialog] (http://linux.die.net/man/1/dialog) erstelle und die Ausgabe aller Befehle analysieren muss Ich stelle hinter die Kulissen. Sie können die Frage beantworten, damit ich Ihren Kommentar als die richtige Antwort markieren kann. –
Ich habe Bash-Skript wie folgt '#!/Usr/bin/bash Ergebnis = $ (Andock-run -e' SITE = WL '-h Pingnet - Name Pingnet --rm Pingnet 2> & 1) Echo $ {Ergebnis } 'und zeigt kein Ergebnis – irom