docker如何殺死卡住的容器

docker如何殺死卡住的容器

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教程欄目。

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享