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教程栏目。
Atas ialah kandungan terperinci docker如何杀死卡住的容器. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!