Wenn ich einen Python-Prozess in einem Container mit starte
docker run --name python python python3 -c "import time; time.sleep(3600)"
Und versuchen Sie dies auf einer anderen Konsole mit zu beenden
docker stop python
Der Dolmetscher wird nicht angehalten. Stattdessen muss Docker den Prozess nach einer Nachfrist abbrechen (standardmäßig 10s).
Ein einfacher
python3 -c "import time; time.sleep(3600)"
in der Kommandozeile kann sofort abgebrochen werden, indem ein TERM an diese gesendet wird.
Was ist der Grund für diese Asymmetrie?
stop
Befehl ein anderes Signal sendet alsTERM
an den Container. Edit: Hast du es versuchtdocker kill python
? (Alternativ SIGTERM senden:docker kill --signal=SIGTERM python
)