Um einen tieferen Einblick in Docker zu bekommen, habe ich eine Docker-Datei erstellt, die ein Python-Skript ausführt. Es funktioniert gut, aber nach der Ausführung des Skripts stürzt der Container ab. Wie kann ich meine Docker-Datei ändern, um den Container nach der Ausführung zu zerstören, anstatt den Container abstürzen zu lassen und ständig neu zu starten?Stoppen Sie einen Docker-Container nach der Ausführung von Code
Dockerfile:
FROM python:3
ADD aa.py/
CMD [ "python", "./aa.py" ]
Python:
print('Hello!')
Fehlermeldung:
2017-06-14 11:37:09 [CELL/0] OUT Starting health monitoring of container
2017-06-14 11:37:09 [APP/PROC/WEB/0] OUT Hello!
2017-06-14 11:37:09 [APP/PROC/WEB/0] OUT Exit status 0
2017-06-14 11:37:09 [CELL/0] OUT Exit status 143
2017-06-14 11:37:09 [CELL/0] OUT Destroying container
2017-06-14 11:37:09 [API/0] OUT Process has crashed with type: "web"
2017-06-14 11:37:09 [API/0] OUT App instance exited with guid 6fdede46-6751-4725-ad78-b76262dbe701 payload: {"instance"=>"", "index"=>0, "reason"=>"CRASHED", "exit_description"=>"2 error(s) occurred:\n\n* 2 error(s) occurred:\n\n* Codependent step exited\n* cancelled\n* cancelled", "crash_count"=>4, "crash_timestamp"=>1497433029411246770, "version"=>"98e2a035-e38f-4169-95fb-2701c8486e9c"}
2017-06-14 11:37:09 [CELL/0] OUT Successfully destroyed container
2017-06-14 11:38:31 [CELL/0] OUT Creating container
Wie haben Sie Ihren Container gestartet? Sie können 'docker run --rm mypython' verwenden, das Ihren Container nach dem Ausführen des Skripts entfernt. – lvthillo
Ich benutze Docker auf CloudFoundry. Über die Benutzeroberfläche tippte ich einen Docker Hub Repo ein und startete es. – user3080315
Ich habe noch nie Cloudfundry benutzt, kann dir also nicht helfen. Ich würde vermuten, dass es versucht, wegen cf neu zu starten, weil nur im Andockfenster dieser Behälter laufen wird, die Nachricht anzeigen und stoppen. Die Option '--rm 'entfernt den Container nach dem Lauf. Ich kann dir nicht helfen, dies zu reproduzieren, vgl. – lvthillo