docker殺死容器的方法:
docker stop
當我們用docker stop指令來停用容器的時候,docker預設會允許容器中的應用程式有10秒的時間用以終止運作。
在docker stop指令執行的時候,會先向容器中PID為1的程序發送系統訊號SIGTERM,然後等待容器中的應用程式終止執行,如果等待時間達到設定的逾時時間,或者預設的10秒,會繼續發送SIGKILL的系統訊號強行kill掉程序。
docker kill
接著我們來看看docker kill指令,預設情況下,docker kill指令不會給容器中的應用程式有任何gracefully shutdown的機會。它會直接發出SIGKILL的系統訊號,以強行終止容器中程式的運作。
例如,如果我們想要向docker中的程式發送SIGINT訊號,我們可以這樣來實作:
docker kill --signal=SIGINT container_name
#與docker stop指令不一樣的地方在於,docker kill沒有任何的超時時間設置,它會直接發送SIGKILL訊號,以及用戶透過signal參數指定的其他訊號。強行終止進程。
因此,docker kill適合用來強行終止程式並實現快速停止容器。而如果希望程式能夠 gracefully shutdown(優雅的停止)的話,docker stop才是不二之選。
更多相關教學課程,請關注PHP中文網docker教學欄位。
以上是docker如何殺死卡住的容器的詳細內容。更多資訊請關注PHP中文網其他相關文章!